像文件准备好的东西,但毕竟是Ember视图渲染
我正在使用ApplicationView didInsertElement上的覆盖来执行此操作,这似乎是迄今为止的工作:
App.ApplicationView = Em.View.extend({
didInsertElement: function() {
// Do your magic.
}
});
我想知道这是否是准备好Ember文档的正确方法,或者如果Ember对这个简单且非常常见的东西有更多原生支持。
答案 0 :(得分:10)
您可以通过重新打开基本View类并将其添加到渲染队列中来轻松添加“post render”挂钩。
以下是一些代码,向您展示如何:
Ember.View.reopen({
didInsertElement : function() {
this._super();
Ember.run.scheduleOnce('afterRender', this, this.didRenderElement);
},
didRenderElement : function() {
// Override this in your View's
}
});
答案 1 :(得分:5)
didInsertElement
是正确的位置,但如果您想完全确定渲染队列是否已完全刷新,您还可以收听afterRender
事件,如下所示:
App.ApplicationView = Ember.View.extend({
didInsertElement: function() {
Ember.run.scheduleOnce('afterRender', this, 'processChildElements');
},
processChildElements: function() {
// do here what you want with the DOM
}
});
希望它有所帮助。
答案 2 :(得分:0)
var myArray=["string1","string2","string3","string4","string5"];
var test = document.querySelector(".test")
myArray.forEach(function(x){
var textnode = document.createTextNode(x);
test.appendChild(textnode )
})