如何强制Ember.Component重新渲染?

Vas*_*huk 9 components ember.js htmlbars

有没有办法让Ember.Component强制重新渲染?

.rerender()方法,但没有帮助.我也尝试使用.notifyPropertyChange模板,layoute - 相同

现在对于这种情况我需要将一块模板if包装成包装并切换标志的值.但方式是丑陋和无聊.

有任何想法吗?

Dec*_*ett -1

看看Ember 运行循环

要覆盖这个“后台”进程,您可以使用如下内容:

showElement: false,

actions: {
  buttonClick() {
    Ember.run(()=> {
      this.toggleProperty('showElement');
    })
  }
}
Run Code Online (Sandbox Code Playgroud)

这将强制运行循环重新启动,而不是 Ember 处理任何属性更改并决定如何执行代码,就像 JavaScript 事件循环一样。

对此的一个很好的解释可以在这里找到