在父组件中,我有以下内容:
.
.
.
recurringFunc: function(delay, index){
.
.
.
if (someFlag){
Ember.run.later(_this, function() {
_this.send('otherFunc',{index: index});
_this.send('recurringFunc', delay, ++index);
}, delay);
}
},
otherFunc: function(somePara){
.
.
.
}
在父模板中,我有以下内容:
.
.
.
{{template-name someFlag=someFlag}}
.
.
.
然后在子组件中,我有以下内容:
input: function(){
this.set('someFlag', false);
this.sendAction('otherFunc', {index: someVal});
}
如果从子组件触发该操作,则它成功更改父组件中的 someFlag。但是代码不会等待Ember.run.later
父级中的最后一次迭代运行,然后再执行从子级启动的 otherFunc 调用。
我有其他代码,我已经缩写,依赖于在 Ember.run.later 的最后一次迭代之后运行的 otherFunc。
如何从子组件调用父组件函数并确保 Ember.run.later 在调用的子函数执行之前完成?