相关疑难解决方法(0)

Ember.js 2.3在HasMany关系上实现@ each.property观察者?

假设我有一个hasMany关系Procedure => hasMany Steps,async:true,我有一个名为procedure-main的Procedure Component(在程序路径上),它列出了这些步骤:

{{#each steps as |step| }}
 {{step.title}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)

我需要在任何步骤上更改stepStatus时观察每个步骤(例如,stepStatus)的属性.在Ember 1.7中,我在程序控制器上有这样的东西:

stepsStatusObserver: function(){
...
}.observes('steps.@each.stepStatus')
Run Code Online (Sandbox Code Playgroud)

这是在步骤中的任何步骤上更改stepStatus时触发的,并且只要状态发生更改,我在此函数中的任何内容都会被触发.但是,在Ember 2.3中,我无法实现这一点.我试过了

stepsStatusObserver: Ember.observer('steps.[].stepStatus', function(){
...
})
Run Code Online (Sandbox Code Playgroud)

但这只会在页面上列出步骤时触发一次.当我将一个步骤的状态更改为新值时,该函数永远不会被触发.

如何在Ember 2.3中复制此功能?

注意:在我的用例中,我不能依赖于在单击按钮时手动设置观察者内部的功能,因为如果在任何步骤中更改了stepStatus属性,它必须自动触发.

ember.js ember.js-2

1
推荐指数
1
解决办法
1067
查看次数

标签 统计

ember.js ×1

ember.js-2 ×1