首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有好的插件或变通方法来同步2个具有相同id的主干模型?

有没有好的插件或变通方法来同步2个具有相同id的主干模型?
EN

Stack Overflow用户
提问于 2014-01-10 01:06:04
回答 1查看 31关注 0票数 0

这是我的问题,在我的应用程序上,两个不同的视图用相同的id实例化相同的模型。我希望2个模型是相同的或同步(火灾事件的变化)。有什么想法吗?

我看了一下Backbone-relational,但人们对此抱怨太多了。

EN

回答 1

Stack Overflow用户

发布于 2014-01-10 01:34:48

没有其他依赖项的简单解决方案是这样设计应用程序:相关视图共享一个公共辅助Collection,可能是作为全局/模块范围的变量,或者作为构造函数参数传递。此集合将用作特定类型的模型的明确存储,通过选中它,您可以避免创建相同的模型两次:

代码语言:javascript
复制
var model = App.sharedCollection.get(id);
if (!model) {
    model = App.sharedCollection.add({id: id});
}

如果您更喜欢预先构建的解决方案,则可以使用Backbone.ModelFactory库,该库可自动执行此重复数据消除。有了这个主干插件,您只需使用Backbone.ModelFactory而不是Backbone.Model.extend来定义您的模型,复制就会自动处理。下面是一个从README中提取的示例

代码语言:javascript
复制
var User = Backbone.ModelFactory({
  defaults: {
    firstName: 'John',
    lastName: 'Doe'
  }
});

var user1 = new User({id: 1});
var user2 = new User({id: 1});
var user3 = new User({id: 2});

console.log(user1 === user2); // true
console.log(user3 === user1); // false
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21026674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档