【发布时间】:2018-01-22 14:13:32
【问题描述】:
我正在开发一个 Backbone.js 应用程序,它利用所有视图和子视图扩展的“主视图”。
主视图
define(['backbone'], function (Backbone) {
return Backbone.View.extend({
events: {
},
showSuccess: function (msg) {
alert(msg);
}
});
});
然后我有一个生成页面的主视图,这可以调用较小部分的子视图:
define(['backbone','masterView', 'mySubView'], function (Backbone, mView, mySubView) {
var mainView = mView.extend({
events: function () {
return _.extend({}, coreView.prototype.events, {
});
},
render: function () {
var sub = new mySubView({'foo': 'bar'});
}
});
return new mainView();
});
最后是我的子视图,它在初始化时显示options 未定义。
define(['backbone','masterView', 'mySubView'], function (Backbone, mView, mySubView) {
var subView = mView.extend({
events: function () {
return _.extend({}, coreView.prototype.events, {
});
},
initialize: function (options) {
console.log(options);
}
});
return new subView();
});
在此设置中,为什么当我将 options 传递给我的 MainView 时未定义它们?如果子视图没有扩展masterView,而是扩展Backbone.view,它可以正常工作。
【问题讨论】:
标签: javascript backbone.js requirejs