【发布时间】:2015-02-19 19:09:50
【问题描述】:
我正在尝试使用 Backbone.Marionette 和 RequireJS 设置一个新应用程序。我正在跟随enzo's guide 设置我的路由器和控制器,但在尝试实例化控制器时出现以下错误-“未定义不是函数”。
require( ['marionette', './assets/js/router', './assets/js/routeController'], function (Marionette, Router, routeController) {
var MyApp = new Backbone.Marionette.Application();
var controller = new routeController({});
如果我将鼠标悬停在函数参数中的 routeController 上,则会显示为“未定义”。
我做错了什么?这让我发疯。
编辑:routeController文件如下-
define(["marionette"], function (Marionette) {
var Controller = Backbone.Marionette.Controller.extend({
initialize : function(options) {
},
start: function() {
},
home : function () {
alert('Hello, welcome home!');
},
});
return Controller;
});
【问题讨论】:
-
你的 routeController 文件是什么样的?
-
@ne8il 我已经用 routeController 代码更新了我的帖子,这与我链接的指南中列出的代码相同。
-
如果您将 Marionette 定义为 AMD 模块,则无需执行
Backbone.Marionette,只需使用Marionette.* -
@KyleNeedham 不管我如何定义 Marionette,我仍然收到错误“无法读取未定义的属性 'Controller'。”
标签: backbone.js controller requirejs marionette router