如何触发从子以父视图中backbonejs和requirejs事件(How to trigger a

2019-09-18 04:16发布

我有一个动态创建一个子视图parentview,我已经引发从子视图到父视图的事件,我传递子视图模型与某些属性设置父视图。 现在父视图我必须采取的模式,并加入到收集。 这里是我的代码子视图触发代码

$(this.el).trigger('added', this.model);

parentview事件

events: {
            "added": "addNewAttribute"
        },
    addNewAttribute: function (model) {
        console.log(model);
        this.collection.add(model);
        console.log(this.collection);
    }

的console.log返回undefined。 有人可以让我知道如何将模型传递回父视图?

谢谢

Answer 1:

我可能是关闭基地,但我猜子视图没有做包含此代码的功能结合:

$(this.el).trigger('added', this.model);

当你进入那个代码是在功能的结果,“这”并不指向子视图,它指出了一些DOM对象或东西。 然后this.model不指向你所期望的。

例如:

initialize : function () {
  _.bindAll(this, "addFunction");
}

addFunction : function () {
  $(this.el).trigger('added', this.model);
}


Answer 2:

只是面对同样的问题!

事情是,父函数采用作为第一个参数的事件和触发功能传递变量的阵列。 所以代码应该是这样的:

$(this.el).trigger('added', [this.model]);

parentview事件:

events: {
    "added": "addNewAttribute"
},
addNewAttribute: function (event,model) {
    console.log(model);
    this.collection.add(model);
    console.log(this.collection);
}

这为我工作。



文章来源: How to trigger an event from child view to parent view in backbonejs and requirejs