0

我有一个将其模板呈现为命名插座的视图。我使用了 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
        });
    }
});

我究竟做错了什么?

4

0 回答 0