Backbone.js-将2个模型传递给1个视图

Backbone.js-将2个模型传递给1个视图,backbone.js,Backbone.js,我试图将两个模型传递给视图,但它似乎不起作用。这是我的例子:正如你们所看到的,第二个警报显示未定义的 可能是我的方法不对。我试图做的是:在View1bind event'change'中,将Model1绑定到。。。然后单击View2中的按钮,调用Model1中的函数来更改值,并自动呈现View1,因为它已绑定到更改事件 但是不要忘记View2也有自己的Model2,我在视图之外创建了它,然后像newview2({model:Model2})一样传递它 一开始可能看起来很困惑,但我认为主干可以做一

我试图将两个模型传递给视图,但它似乎不起作用。这是我的例子:正如你们所看到的,第二个警报显示未定义的

可能是我的方法不对。我试图做的是:在
View1
bind event
'change'
中,将
Model1
绑定到
。。。然后单击
View2
中的按钮,调用
Model1
中的函数来更改值,并自动呈现
View1
,因为它已绑定到更改事件

但是不要忘记
View2
也有自己的
Model2
,我在视图之外创建了它,然后像
newview2({model:Model2})一样传递它

一开始可能看起来很困惑,但我认为主干可以做一件简单的事情。我只是不知道怎么做:)


谢谢,

您可以从

像这样:

window.PopupView = Backbone.View.extend({

    // code left out

    initialize: function () {
        this.model.bind('change:notification_num', this.render);
        alert(this.model);
        // your model2 option:
        alert(this.options.model2);
    },

   // code left out
});

结论:视图的“未识别选项”可以在
中找到。选项添加此补丁并将任何选项直接传递给视图

    Backbone.View.prototype._configureWithoutThis = Backbone.View.prototype._configure;
    Backbone.View.prototype._configure = function(options) {
      this._configureWithoutThis(options);
      _.extend(this, this.options);
    }

我刚刚通过谷歌找到了这个问题和Sled的答案,这对我帮助很大——但只是为了更新这个2年前的问题,或许还能让其他谷歌人省去头疼:

主干视图不再自动附加传递给的选项 构造函数作为this.options,但如果愿意,您可以自己做

向您展示如何:

initialize : function (options) {
  this.options = options || {};
}

哇,比你还管用。我被困了两天:)我只有两个问题。1.我在哪里可以读到更多关于这个的信息。选项,我以前看过,但我真的不明白如何使用它。。。2.我想你明白我想做什么。我想知道这是不是一个好的方法?或者有更好的(更正确的)方法吗?您好,1)我刚刚看了一下我喜欢的backbone.js的源代码:很简单:)2)一个模型可以附加到多个视图,这没关系。请注意命名“model2”不是一个很好的名称;)是的,我知道,我只是展示了一个简单的示例:)再次感谢:)model2事件绑定似乎不起作用,例如,
model2.on('change:field',this.doSomething,this)
当尝试使用两个模型制作模板时,这是如何工作的?
initialize : function (options) {
  this.options = options || {};
}