ember.js - 如何更新 Ember 模板中辅助主体内的变量
问题描述
想象一下控制器中的一个属性myNumber
,它每秒都有一个不同的随机数。使用此模板,您将每秒看到此更改:
<h4>Random number</h4>
<p>{{myNumber}}</p>
但是,当仅在帮助程序(例如#if
或#each
)内引用该数字时,该数字不再更新。这只会显示初始值:
<h4>Random number</h4>
{{#if model}}
<p>{{myNumber}}</p>
{{/if}}
(请注意,这myNumber
与 无关model
。只是使用一些随机的真实属性。)
有趣的是,当您将对该属性的引用添加回文档的根目录时,之前的静态数字现在也将更新:
<h4>Random number</h4>
{{myNumber}} -- Without this reference, references below won't update.
{{#if model}}
<p>{{myNumber}}</p>
{{/if}}
如何myNumber
在帮助程序内部进行更新,而不显示模板根目录中的数字?
我尝试在 html 注释中添加引用,但这不起作用。我假设 Ember 不会绘制不在 DOM 中的元素:
<h4>Random number</h4>
<!-- {{myNumber}} -->
{{#if model}}
<p>{{myNumber}}</p>
{{/if}}
起作用的是将值添加到 DOM,但隐藏它。但是,这是一个丑陋的解决方案:
<h4>Random number</h4>
<span style="display:none">
{{myNumber}}
</span>
{{#if model}}
<p>{{myNumber}}</p>
{{/if}}
解决方案
使用箭头函数将解决您的问题。
推荐阅读
- cognos - 图表缺失观察
- javascript - 为什么我的函数调用在 TinyMCE 中不起作用
- linux - 将多个文件移动到linux中的目录
- image - AHK 按键仅在按下时显示图像
- c# - 使用 Asp.Net Core Identity 添加持久声明
- oracle-apex - 更改内联弹出窗口的位置
- css - 如何在 1 类保护伞下隔离整个 CSS 文件
- python - 填充没有字符串查询的 Postgresql 表
- clojure - xodus 游标的有效期是多久?
- php - 具有绑定参数的 PHP 变化查询。pgSQL VS MySQL 准备好的语句 | ?,?,? 对比 1 美元、2 美元、3 美元