当组件包含帮助程序时如何重新渲染组件?
Posted
技术标签:
【中文标题】当组件包含帮助程序时如何重新渲染组件?【英文标题】:How to rerender a component when it contains a helper? 【发布时间】:2017-08-10 06:30:30 【问题描述】:问题
我正在尝试在操作后重新渲染组件,但我需要重新渲染的模板部分没有更新,因为它来自我制作的助手的结果,或者至少我认为这是因为.
在我的组件模板中,我有这样的东西:
my-helper value
在关联的组件js文件中,我有这个动作:
fillGrid(location, length)
/* logic */
this.rerender();
,
我是怎么做的
我找到了一种方法,但感觉很奇怪,我使用了一个布尔值,我在动作中在真假之间切换以强制重新渲染
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
这是正确的做法吗?
【问题讨论】:
【参考方案1】:您无需显式调用this.rerender()
。如果您更改了value
属性,则my-helper
将被自动调用以重新计算并显示在组件模板中。
【讨论】:
以上是关于当组件包含帮助程序时如何重新渲染组件?的主要内容,如果未能解决你的问题,请参考以下文章