我有一个视图,将其模板呈现为命名插座。我使用didInsertElement钩子,并在那里等待DOM完成的afterRender计划。但是,当我尝试访问此渲染过程的结果时,这些元素是未知的。如果我在时间0的setTimeout中包装访问(以便它在下一个事件循环周期中运行),它就可以工作。
App.PlaceView = Ember.View.extend({
didInsertElement: function () {
Ember.run.scheduleOnce('afterRender', this, function () {
// This works
setTimeout(
function () {
// access elements
},
0
);
// Access elements here does not work
});
}
});
我做错了什么?