gpt4 book ai didi

javascript - 销毁事件不会从 Backbone 模型传播到 Backbone 集合

转载 作者:行者123 更新时间:2023-12-02 18:56:50 25 4
gpt4 key购买 nike

我有一个 Backbone 模型集合。

MyCollection = Backbone.Collection.extend({
model: myMymodel;
});

MyModel = Backbone.Model.extend({
...
});

每个模型都有一个 View

myView = Backbone.View.extend({
initialize: function() {
this.model = new MyModel();
};
});

服务器端没有持久性。这仅用于构建客户端信息。因此模型没有 ids,并且尚未配置 Backbone.sync 的 url。

在 View 中,我想从集合中删除模型。

我尝试过以下方法:

this.model.trigger( "destroy" );

但是它不起作用。销毁事件不会传播到集合。

知道我做错了什么吗?

谢谢

最佳答案

我认为您根本没有实例化该集合。至少从代码中无法看出这一点。如果您只是创建模型实例但未将其添加到任何集合中,则 this.model.trigger("destroy"); 将不执行任何操作。

myView = Backbone.View.extend({
initialize: function() {
this.coll = new MyCollection();
this.model = new MyModel();
this.coll.add(this.model);
};
});

现在模型已成为集合的一部分:

this.model.destroy()

进行删除 API 调用并从集合中删除

this.collection.remove(this.model)

从集合中删除模型,但不进行删除 API 调用。

this.model.trigger("destroy");

触发模型上的销毁事件,但不会销毁模型本身。如果模型是集合的一部分,则与collection.remove(this.model)相同。

关于javascript - 销毁事件不会从 Backbone 模型传播到 Backbone 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15255600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com