Ember:动态渲染模板

时间:2014-10-03 15:47:20

标签: templates ember.js components

我有一个组件。该组件的模板是“html数据”。 这些html数据由用户组成并存储在数据库中。它们装有ajax。

通常,我们只是使用html数据绑定组件。但是,我的“html数据”还包含嵌入式ember组件。 例如:

<html> do something {{button action="abc"}} </html>.

所以,我要做的是动态更改组件的模板。 我尝试更新模板。

this.template = Ember.Handlebars.compile(html);
this.rerender();

但是,组件不会使用新模板重新渲染!!

你知道怎么做吗?

提前谢谢

绿色

1 个答案:

答案 0 :(得分:3)

您只需在设置Ember对象的值时调用Ember.set方法。使用this.set('template', template)代替this.template = template

演示(在输入中键入新模板并单击按钮):http://emberjs.jsbin.com/cuqofatisavu/1/edit?js,output

更新(对commenting而言): 如果需要更改Ember.Component模板,请设置layout属性而不是template