我试图在一个动作之后重新渲染一个组件,但是我需要重新渲染的模板部分没有更新,因为它来自我做的助手的结果,或者至少我认为这是因为
在我的组件模板中,我有这样的东西:
{{my-helper value}}
在相关的组件js文件中,我有这个动作:
fillGrid(location, length) {
/* logic */
this.rerender();
},
我找到了一种方法,但它感觉很奇怪,我正在使用booelan,我在行动中切换真假,以强制重新渲染
fillGrid(location, length) {
let me = this;
this.set('show', false);
/* logic */
Ember.run.later(function() {
me.set('show', true);
me.rerender();
}, 10);
}
在模板中:
{{#if show}}
{{my-helper value}}
{{/if}}
这是正确的方法吗?
答案 0 :(得分:0)
您无需明确致电this.rerender()
。如果您更改了value
属性,则会自动调用my-helper
进行重新计算,它将显示在组件模板中。