首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当组件包含帮助器时,如何重新呈现组件?

当组件包含帮助器时,如何重新呈现组件?
EN

Stack Overflow用户
提问于 2017-03-19 03:26:28
回答 1查看 215关注 0票数 1

问题所在

我试图在一个动作之后重新渲染一个组件,但是我需要重新渲染的模板部分没有更新,因为它来自我创建的一个帮助器的结果,或者至少我认为是因为这个原因。

在我的组件模板中,我有类似这样的东西:

代码语言:javascript
复制
{{my-helper value}}

在关联的组件js文件中,我有以下操作:

代码语言:javascript
复制
fillGrid(location, length) {
  /* logic */

  this.rerender();
},

我是如何做到的

我找到了一种方法来做这件事,但感觉很奇怪,我使用了一个在真与假之间切换的布伊兰,以强制重新渲染

代码语言:javascript
复制
fillGrid(location, length) {
    let me = this;
    this.set('show', false);

    /* logic */

    Ember.run.later(function() {
      me.set('show', true);
      me.rerender();
    }, 10);
}

在模板中:

代码语言:javascript
复制
{{#if show}}
    {{my-helper value}}
{{/if}}

这是正确的做法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-03-19 13:43:14

您不需要显式调用this.rerender()。如果您更改了value属性,则会自动调用my-helper进行重新计算,并将其显示在组件模板中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42878867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档