在开发期间,如果要实时保存我的车把模板,我想刷新它们。
我已经有一个websocket channel ,当保存文件时会通知我。那时,我可以通过更新script
标记src
上的哈希值来强制重新加载特定模板。
如何通知所有使用此模板的 View 需要刷新并强制刷新?
(如何找到它们?如何触发刷新?)
最佳答案
注意此功能适用于简单的模板,但不适用于渲染到网点的模板
进行此操作相当棘手:
var js = "template.js";
var templateName = "template";
Ember.TEMPLATES["empty"] = Handlebars.compile("")
// script loaders are the simplest way of getting a callback
$LAB.script(js).wait(function(){
$.each(Ember.View.views,function(){
if(this.get('templateName')==templateName){
this.set('templateName','empty');
this.rerender();
this.set('templateName',templateName);
this.rerender();
}
});
})