我正在尝试观察一个异步belongsTo关系属性。 我只想观察来自api的更改。 因此,我正在考虑一种单向绑定并观察它。 我只是不确定如何去做。

此jsbin http://jsbin.com/yaxame/1将绑定显示为普通的双向绑定。 每当“某人”“高兴”时,它都会提醒您“某人很高兴”。 但我希望它仅在数据来自api而不是用户输入时发出警报。

双向绑定:

isHappyDidChange: function() {
  if (this.get('model.spouse.isHappy')) {
    alert('Someone is happy');
  }
}.observes('model.spouse.isHappy')

我意识到这个jsbin http://jsbin.com/yaxame/2是错误的,因为您需要触发绑定模板。 那么正确的方法是什么?

单向错误绑定:

isHappyOneWay:  Ember.Binding.oneWay("model.spouse.isHappy"),

isHappyDidChange: function() {
  if (this.get('model.spouse.isHappy')) {
    alert('Someone is happy');
  }
}.observes('isHappyOneWay')

更新思路:

如果我可以像这样观察isLoaded:

isHappyDidChange: function() {
  if (this.get('model.spouse.isHappy')) {
    alert('Someone is happy');
  }
}.observes('model.spouse.isLoaded')

那就太好了,它可以解决我的问题。 但是isLoaded实际上并不意味着模型已加载... http://jsbin.com/yaxame/3

谢谢!

#1楼 票数:0 已采纳

观察isFulfilled可以达到以下目的:

isHappyDidChange: function() {
  if (this.get('spouse.isHappy')) {
    alert('Someone is happy');
  }
}.observes('spouse.isFulfilled')

如jsbin http://jsbin.com/yaxame/4/

更新资料

仍然无法更新记录。 http://jsbin.com/yaxame/5/尝试也观察到'didUpdate',但这没有用。 http://jsbin.com/yaxame/6/但我对此感到满意,至少在现在实现后会解雇。

  ask by bfcoder translate from so

未解决问题?本站智能推荐:

2回复

灰烬数据具有许多异步观察到的属性“简单”问题

希望你能帮助我! 我的Ember应用程序(Ember 1.5.1)有两个模型(Ember Data beta7):Item和Tag。 物品有很多标签。 我在不更新的标签上也有一个计算属性。 计算属性是一项简单的检查,以查看是否有任何标签(即不为空)。 我尝试过各种东西。 我到
2回复

灰烬-初始加载时没有数据具有很多关系

ember-cli-3.20,ember-data-3.30 我正在尝试在控制器设置中的hasMany关系中修改数据,但该关系中没有数据。 但是,页面完全加载后,所有数据都存在(即在我的模板/动作中,所有关系数据都存在) 我有一个与问题具有多对多关系的测验应用程序。 型号/Q
1回复

如何观察属性并在重新加载时清除它们

我每4秒钟为此加载视图数据 我正在通过以下方式获取我认为的价值: 题 每4秒就会向REST API发出一个新请求以获取新报价。 但是,该新报价将追加到现有报价中。 如何覆盖旧引号,仅显示新的,更改的值?
1回复

灰烬数据:具有初始异步关系值的createObject

我一直在使用ember和ember数据几个月,现在我正在优化我的Web应用程序。 我有这个feed模型: 当我尝试创建新的feed对象时,只需指定后端的应用程序和类型,即可执行以下操作: 我的问题是,如果app属性是异步的(如本例所示),则该app id永远不会在POST请
1回复

灰烬异步计算属性返回未定义

我正在尝试将属性设置为模型的async has hasy关系的值。 但是我无法在then函数内返回任何值。 我的问题在于一个Athlete的ObjectController,我试图将Time hasMany数组设置为属性。 在then回调函数之外,我可以正常返回值。 但是,在the
1回复

灰烬数据,关系和JSON

我从API返回以下JSON: 我有以下模型: project.js subscription.js从“ ember-data”导入DS; 数据已成功从API返回,我可以获得项目的详细信息,但似乎无法获得关系的数据。 使用ember检查器会在“数据”选项卡中显示数据
2回复

灰烬数据观察混乱

我有一个这样的模型: 如果我想在用户每次添加或删除项目时都需要更新UI,则似乎无法在其中使用“属性”。 据我所知,我应该使用“观察值”,但是当我使用它代替“属性”时,车把{{itemCount}}标记只是将函数本身呈现为字符串。 非常感谢您提供任何有助于正确呈现此效果的帮助。
6回复

如何用链接重新加载异步hasMany关系?

让我们说 我必须使用links功能,否则由于对帖子的评论过多而导致414错误。 自此提交https://github.com/emberjs/data/commit/4d717bff53f8c93bedbe74e7965a4f439882e259 似乎不可能触发post.ge