Marionettejs Routes
Marionettejs Routes
本文关键字:Routes Marionettejs 更新时间:2023-09-26
我是新来的木偶,我就是找不到上班的路线。
我使用的是木偶2.4.1版本,并试图用最简单的方式来做,这样它就可以工作了。
此代码适用于旧版本的木偶v1.0.2,该版本包含在一个yeoman的生成器中。我知道这两个版本之间有很大的差距,但是对于每个帖子,博客,官方文档甚至为这个框架编写的书籍来说,代码都是一样的。
控制台没有错误,但是'home'方法无法启动。
我错过了什么吗?
Application .js(应用程序主体):
define(['backbone', 'marionette'],
function (Backbone, Marionette) {
'use strict';
var App = new Marionette.Application();
App.Router = Marionette.AppRouter.extend({
appRoutes: {
"home": "home"
}
});
var myController = {
"home": function() {
console.log("This thing just won't work.");
}
};
/* Add initializers here */
App.addInitializer(function () {
console.log('App initialized');
new App.Router({
controller: myController
});
});
App.on("initialize:after", function () {
if (Backbone.history) {
Backbone.history.start();
}
});
return App;
});
main.js(启动application.js中定义的应用程序):
require(['marionette', 'application'],
function ( Marionette, App ) {
'use strict';
App.start();
});
Config .js(配置require.js)
require.config({
baseUrl: "/scripts",
/* starting point for application */
deps: ['marionette', 'main'],
shim: {
backbone: {
deps: [
'underscore',
'jquery'
],
exports: 'Backbone'
},
marionette: {
deps: ['backbone'],
exports: 'Marionette'
}
},
paths: {
backbone: '../bower_components/backbone/backbone',
jquery: '../bower_components/jquery/dist/jquery',
underscore: '../bower_components/underscore/underscore',
/* alias all marionette libs */
'marionette': '../bower_components/marionette/lib/core/backbone.marionette',
'backbone.wreqr': '../bower_components/backbone.wreqr/lib/backbone.wreqr',
'backbone.babysitter': '../bower_components/backbone.babysitter/lib/backbone.babysitter'
}
});
看起来你丢失了一个对路由器控制器的引用。
尝试更新路由器以包含对myController的引用:
App.Router = Marionette.AppRouter.extend({
controller: myController,
appRoutes: {
"home": "home"
}
});
查看AppRouter文档了解更多信息:http://marionettejs.com/docs/v2.4.1/marionette.approuter.html
似乎initialize:after:
App.on("initialize:after", function () {
if (Backbone.history) {
Backbone.history.start();
}
});
在最新版本的木偶中不支持,我应该开始:
App.on("start", function () {
if (Backbone.history) {
Backbone.history.start();
}
});
大多数关于木偶的帖子似乎相当过时。这些仍然很有帮助,但一定要与官方框架的文档进行验证。
我一开始就应该这么做的
相关文章:
- 如何在Marionettejs中渲染根布局
- Express Routes-多个文件的问题
- 使用Express4将数组从Nodejs中的app.js传递到routes/index.js
- MarionetteJS嵌套视图
- 使用角度.js ngRepeat和Routes时如何处理内存泄漏
- Angularjs regex routes for url
- Umbraco - routes for Angular
- MarionetteJS:在DOM中发生“更改”事件后,更新复合视图中的所有ItemViews
- 在 NodeJS 中.js xyz.client.routes 和 xyz.server.routes.js 有什么区别
- MarionetteJS:负责显示子应用程序的人员
- IndexRoute sub-routes
- 从Routes获取属性
- 如何使用react路由器将顶级组件状态传递给Routes
- MarionetteJS示例来自Backbone.Marionette.一个温和的介绍不起作用
- 如何使用qunit在ember-cli应用程序中对Routes进行单元测试
- Jquery and AngularJS routes
- 尝试使用Node运行Routes示例代码时出现获取网页不可用错误
- js-routes ASP.NET MVC alternative
- Angular模板没有加载/ routes
- Marionettejs Routes