【问题标题】:How to update model relationships in ember?如何在ember中更新模型关系?
【发布时间】:2016-06-17 20:50:53
【问题描述】:

我在 ember 中拥有多对多的关系:

MYSPACE.User= Model.extend({
   teams: hasMany('team'),
});
MYSPACE.Team = Model.extend({
    users:       hasMany('user'),
});

在用户管理页面上,您可以更新用户团队 - 添加新团队、删除团队等...那么我该如何更新用户团队?

假设您的用户的团队 ID 为 [2,3,4] 并且您将用户更新为拥有团队 [2,5,6,7]

我们使用的是 ember 1.6

怎么做?

【问题讨论】:

  • 您是否使用 Ember Model 作为您的模型库?
  • 我正在使用 Ember 数据模型。 ModelDS.Model
  • 如果您使用的是 DS.Model,那么您使用的是 ember 数据,因此您可以重新加载与 user.get('teams').reload() 的关系,但我不确定什么 ember 数据版本 reload() 可用...

标签: ember.js ember-data


【解决方案1】:

你使用addObject:

user.get('teams').addObject(team);

其中useruser 模型的实例,teamteam 模型的实例。

如果可能的话,您应该尽快转储 1.6 并使用 Ember-CLI 切换到至少 2.4。

【讨论】:

  • addObject 用于添加对象。如何删除它?我是否有添加 2 个新对象并删除 3 个对象的情况,这是最好的更新方式。是否有类似setObjects 的东西可以用新对象替换所有对象?
  • 然后你使用removeObject。您可以使用这些函数中的任何一个来操作数组:emberjs.com/api/classes/Ember.MutableArray.html
猜你喜欢
  • 1970-01-01
  • 2013-11-22
  • 1970-01-01
  • 2015-11-17
  • 1970-01-01
  • 2017-05-17
  • 1970-01-01
  • 2015-10-09
  • 2014-03-09
相关资源
最近更新 更多