如何以及在何處使用app.run()
?模塊定義後,app.config()
或之後app.controller()
?AngularJS app.run()文檔?
我採用的是BreezeJS Angular Q,它詢問某些代碼是否可以在app.run()
函數中運行。
如何以及在何處使用app.run()
?模塊定義後,app.config()
或之後app.controller()
?AngularJS app.run()文檔?
我採用的是BreezeJS Angular Q,它詢問某些代碼是否可以在app.run()
函數中運行。
這裏的調用順序:
app.config()
app.run()
app.controller()
這裏是一個simple demo,您可以在其中觀看每一個正在執行(並且如果您願意,可以進行實驗)。
運行塊 - 獲取創建注入後執行,並 使用的kickstart的 應用。只有實例和常量可以注入運行塊。這是爲了防止在應用程序運行期間進一步進行系統組態。
對於主要方法,運行塊是Angular中最接近的東西。運行 塊是需要運行以啓動應用程序的代碼。 在所有服務配置完成並且 注入器已創建後執行。運行塊通常包含難以進行單元測試的代碼,因此應該在隔離的 模塊中聲明,以便它們可以在單元測試中被忽略。
使用運行塊的一種情況是在authentications期間。
@KayakDave我不知道這是題外話,但在關係按照上面提到的運行順序,服務何時啓動以及何時運行? – jonnie
它可能來得有點晚,以幫助您@jonnieM,但服務將根據正在第一需要的時候,他們在執行 - 即,如果你首先需要在運行塊中的服務,這將是塊之前立即執行。至於提供者,令人煩惱的是,他們將在配置塊之前或之後運行 - 取決於它們來自代碼的順序。考慮到直接使用提供者的唯一時間是在配置階段,這看起來不正確。 –
嗨,我已經分叉和修改你的小提琴樣品還顯示工廠負荷:https://jsfiddle.net/lorezz/4cxgpLqj/1 – user1490729
如何以及在哪裏使用
app.run()
?模塊定義後或app.config()
,之後app.controller()
?
在你package.js例如/packages/dashboard/public/controllers/dashboard.js
使它看起來像這樣
var app = angular.module('mean.dashboard', ['ui.bootstrap']);
app.controller('DashboardController', ['$scope', 'Global', 'Dashboard',
function($scope, Global, Dashboard) {
$scope.global = Global;
$scope.package = {
name: 'dashboard'
};
// ...
}
]);
app.run(function(editableOptions) {
editableOptions.theme = 'bs3'; // bootstrap3 theme. Can be also 'bs2', 'default'
});
和之後任何角度模塊.constants()已設置 – alfonsob