Emberjs didInsertElement запускается до отображения DOM, работает только с setTimeout 0

У меня есть представление, которое отображает его шаблон в названной торговой точке. Я использую ловушку didInsertElement, и там расписание afterRender, чтобы ждать завершения DOM. Тем не менее, когда я пытаюсь получить доступ к результатам этого процесса рендеринга, эти элементы неизвестны. Если я оберну доступ в setTimeout временем 0 (чтобы он выполнялся в следующем цикле цикла обработки событий), это сработает.

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
        });
    }
});

Что я делаю неправильно?

0 ответов

Другие вопросы по тегам