我正在學習angularjs和開發幾個應用程序(同時,老闆的命令)。我的所有應用程序都有一些與初始化有關的常見任務,但我不知道如何使這些任務成爲可重用模塊(是的,也許我是一個noob)。我研究了很多,但我只是更困惑。 :(angularjs應用程序引導:製作可重用模塊
好了,這裏是我需要可重用的角度模塊的代碼。我們的想法是,應用程序之前運行這些功能做任何事情。
/**
* INITIALIZATION - STEP 1 - This is the entry point
* @param {function} callback
* @returns {undefined}
*/
function runApplication(callback) {
showLoadingBar();
$.getJSON("myUrl").done(function (data) {
// do stuf, with error verification, then...
step2(callback, data);
}).fail(function() {
showCriticalErrorMessage("foo");
hideLoadingBar();
});
}
/**
* INITIALIZATION - STEP 2
* @param {function} callback
* @param {object} whateverData
* @returns {undefined}
*/
function step2(callback, whateverData) {
// do stuff with whateverData, with error verification, then...
$.ajax({
"url": "myOtherUrl",
"type": "GET",
"dataType": "json",
"contentType": "application/json; charset=utf-8"
}).done(function (data) {
// do stuff with data, with error verification, then...
step3(callback);
}).fail(function() {
showCriticalErrorMessage("bar");
hideLoadingBar();
});
}
/**
* INITIALIZATION STEP 3
* @param {function} callback
* @returns {undefined}
*/
function step3(callback) {
$.ajax({
"url": "justOtherUrl",
"type": "GET",
"dataType": "json",
"contentType": "application/json; charset=utf-8"
}).done(function (data) {
// do stuff with data, with error verification, then...
step4(callback);
}).fail(function() {
showCriticalErrorMessage("baz");
hideLoadingBar();
});
}
/**
* INITIALIZATION STEP 4
* @param {function} callback
* @returns {undefined}
*/
function step4(callback) {
$.ajax({
"url": "anotherUrl",
"type": "GET",
"dataType": "json",
"contentType": "application/json; charset=utf-8"
}).done(function (data) {
callback();
hideLoadingBar();
}).fail(function() {
showCriticalErrorMessage("qux");
hideLoadingBar();
});
}
// then i need to call step1 inside some controller
好的,但如何使其可重複使用troughout許多應用程序? – 2015-02-10 12:24:41
修復了它,現在你可以擁有通用模塊,你可以包含在任何angularjs應用程序中 – Marcus 2015-02-10 12:36:18