我试图DOM重新渲染DOM中的组件的HTML当我打电话this.rerender();
在下面的例子中,我有一个数据保存到服务器的形式,并完成后我想重置表单以便用户可以提交更多数据。我不想单独清除每个属性(这只是一个例子,除了表单外还有其他用途)。目前,当我运行this.rerender();
,它调用的方法,如didRender()
但不替代DOM中的HTML。重新渲染组件在Ember.js
有没有人有一个线索如何做到这一点?
实施例:
route.hbs
{{my-component}}
MY-component.js
actions: {
submit: {
// save form data to server, etc.
this.rerender(); // re-render html in DOM
}
}
MY-component.hbs
<form {{action 'submit' on='submit'>
{{input id='name' value=name}}
<button class="btn green" type="submit">Login</button>
</form>
我确实有把所有的表单数据到像用户数据对象的想法,但我是有清除它的问题。我认为我的问题的根源在于我使用Materialize将组件放入模式中,并且导致组件在某些情况下出现奇怪现象。尽管如此,谢谢你的回答! –