я собираюсь поддерживать чужой сайт, и я нашел блок кода, как это (я удалил потерянным код, чтобы сделать пример кода простого)Javascript порядок выполнения с AngularJS
var Application = (function ($, global) {
'use strict';
global.site = global.site || {};
global.site.App = App;
function App() {
// code removed
}
App.getState = function() {
return 'standard';
};
App.setState = function() {
// Set current state on load
site.App.currentState = site.App.getState();
};
//a lot of code was removed
return {
init:function(){
global.site.app = new global.site.App();
// Set browser sate on load
site.App.setState();
console.log('Application: site.App.currentState', site.App.currentState);
}
}
}(window.jQuery, window));
$(Application.init);
var siteApp = angular.module('siteApp', []);
siteApp.controller('AppController', function() {
console.log('AppController: site.App.currentState', site.App.currentState);
});
проблема в том, что, хотя я положил var Application = (function ($, global) {...}(window.jQuery, window));
над модулем angularjs, сначала запускается модуль угловых функций. И я должен признать, что я не в полной мере undenstand как вар Application ... дизайн шаблона работы, поэтому мои вопросы:
- Как я могу сделать $ (Application.init); запустить сначала?.
- Какой шаблон проектирования является то, что (Application.init), так что я могу Googel его и попытаться понять, что
любой помогает приветствуются.
$ (Application.init); будет выполняться только при полной загрузке документа. Прочтите это http://api.jquery.com/ready/ – Sandeeproop
Вы можете попробовать удалить $ (Application.init) и прямой вызов Application.init() – Sandeeproop
ну, я не понял $() = $ (document). ready (function() {}) = $ (function() {}) ;. Ваше предложение устранило проблему заказа. спасибо Sandeeproop – Mark