3 回答

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
這可能會(huì)給您帶來一些杠桿作用:
var initInjector = angular.injector(['ng']);
var $http = initInjector.get('$http');
但是請(qǐng)注意,成功/錯(cuò)誤回調(diào)可能會(huì)使您處于應(yīng)用啟動(dòng)和服務(wù)器響應(yīng)之間的競(jìng)爭(zhēng)狀態(tài)。

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
這是一個(gè)古老的問題,如果我們要依賴庫(kù)的核心功能,似乎我們正在做一些雞蛋工作。
我所做的只是繞過,而不是從根本上解決問題。創(chuàng)建一個(gè)包裝整個(gè)身體的指令。例如
<body ng-app="app">
<div mc-body>
Hello World
</div>
</body>
現(xiàn)在mc-body需要在渲染之前(一次)進(jìn)行初始化,例如。
link: function(scope, element, attrs) {
Auth.login().then() ...
}
Auth 是服務(wù)或提供者,例如
.provider('Auth', function() {
... keep your auth configurations
return {
$get: function($http) {
return {
login: function() {
... do something about the http
}
}
}
}
})
在我看來,我確實(shí)可以控制引導(dǎo)程序的順序,這是在常規(guī)引導(dǎo)程序解析完所有提供程序配置然后嘗試初始化mc-body指令之后。
在我看來,該指令可以領(lǐng)先于路由,因?yàn)槁酚梢餐ㄟ^指令ex注入。<ui-route />。但是我對(duì)此可能是錯(cuò)誤的。需要更多調(diào)查。
添加回答
舉報(bào)