我有一个将其模板呈现为命名插座的视图。我使用了 didInsertElement 钩子,并使用 afterRender 计划等待 DOM 完成。但是,当我尝试访问此渲染过程的结果时,这些元素是未知的。如果我将访问包装在时间为 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
});
}
});
我究竟做错了什么?