Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传递给initialize()视图的参数在Backbone.js中未定义_Javascript_Backbone.js_Requirejs - Fatal编程技术网

Javascript 传递给initialize()视图的参数在Backbone.js中未定义

Javascript 传递给initialize()视图的参数在Backbone.js中未定义,javascript,backbone.js,requirejs,Javascript,Backbone.js,Requirejs,我正在开发一个Backbone.js应用程序,它利用一个“主视图”,所有视图和子视图都从主视图扩展而来 主视图 然后我有一个生成页面的主视图,它可以调用较小部分的子视图: define(['backbone','masterView', 'mySubView'], function (Backbone, mView, mySubView) { var mainView = mView.extend({ events: function () { return

我正在开发一个Backbone.js应用程序,它利用一个“主视图”,所有视图和子视图都从主视图扩展而来

主视图

然后我有一个生成页面的主视图,它可以调用较小部分的子视图:

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();
});
最后,我的子视图在初始化时表示选项未定义

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();
});

在这个设置中,当我在MainView中传递选项时,为什么选项没有定义?如果子视图不扩展masterView,而是扩展Backbone.view,则可以正常工作。

子视图文件中的最后一行:

return new subView();
您将返回一个新实例,而不是在子视图模块中返回构造函数。应该是:

return subView;
注意,对于类型构造函数、类等,代码应该使用PascalCase,而实例变量、属性等应该使用camelCase


此外,我还分享了一些技巧。您可以将事件合并到基类而不是每个子类的责任转移到基类。

感谢您提供的附加格式提示和进一步阅读!
return subView;