Emberjs начинающий здесь.Создайте сценарий инициализации в EmberJS
У меня есть приложение Emberjs, где мне нужно выполнить функцию initialize
после загрузки jquery.
Где бы я положил указанную функцию initialize
и как бы я ее назвал?
Emberjs начинающий здесь.Создайте сценарий инициализации в EmberJS
У меня есть приложение Emberjs, где мне нужно выполнить функцию initialize
после загрузки jquery.
Где бы я положил указанную функцию initialize
и как бы я ее назвал?
Вы ищете Пост инициализаторы.
Ember.Application.initializer({
name: 'my-initializer',
after: 'some-other-initializer',
initialize: function(container, application) {
application.deferApplicationReadiness();
application.register(...);
very_long_initialization_task_returning_promise().then(function() {
application.advanceApplicationReadiness();
});
}
});
Вы можете использовать инициализаторы для предварительной загрузки что-то в магазине, организовать инъекции зависимостей и т.д. Свойство after
предоставляет возможность установить порядок для инициализаторов. deferApplicationReadiness
и advanceApplicationReadiness
позволяют сообщать Ember, когда приложение готово к работе.
Подробнее см. http://emberjs.com/api/classes/Ember.Application.html#method_initializer.
Если вы используете уголек-CLI, сделать хэш передается Ember.Application.initializer
выше экспорта по умолчанию из файла с именем initializers/my-initializer.js
:
export default {
name: 'my-initializer',
...
}
Вы можете сделать это следующим образом ... Предполагая, что синхронизация не имеет решающего значения для загрузки всего и готовности DOM и т. Д. Нажмите «Выполнить фрагмент кода», чтобы перейти к изменению заголовка «JavaScript» через 1 секунду.
var App = Ember.Application.create();
App.reopen({
ready: function() {
setTimeout(function() {
Ember.$('#thing').text('FavaBean');
}, 1000);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://builds.emberjs.com/handlebars-1.0.0.js"></script>
<script src="http://builds.emberjs.com/ember-latest.js"></script>
<h1 id="thing">JavaScript</h1>