Mám aplikáciu AngularJS a ja som "d chceli načítať$ scope alebo $ rootScope s údajmi špecifickými pre aplikáciu predtým, ako sa vykoná ktorýkoľvek z kódov kontroléra. To by zahŕňalo napríklad úlohy, povolenia, lokalizácie atď.
Jediná životaschopná možnosť, ktorú som našiel, je pridať objekt rozlíšenia do KAŽDÉHO z mojich trás / regulátorov, to považujem za nočnú moru údržby.
Tiež som čítal o aplikácii.run (), ale neexistuje spôsob, ako dostať závislosti od služby. To znamená, že môžete volať službu na váš server v prevádzke, ale nebude to čakať na sľub dokončiť skôr, ako budete pokračovať.
Mám pocit, že je to do očí bijúci problém s AngularJS.
Dúfajme, že mi chýba niečo zrejmé z API.
Tu je veľmi podobná otázka, ktorá bola uverejnená počas leta, hoci žiadne skutočné riešenie nebolo zaslané. AngularJS načítanie dát pri spustení aplikácie
odpovede:
1 pre odpoveď č. 1normálne resolve
je dobrý spôsob, ako to urobiť, ak chcete urobiť niečo s Angular najprv, potom pauza, potom robiť iné veci s uhlom.
Ale ak chcete urobiť niečo bez Angular najprv, potom spustiť Angular, môžete ručne spustiť Angular.js s angular.bootstrap
, Aby ste mohli načítať dáta ako prvé, potom, keď sa cítite pripravení. volanie angular.bootstrap()
na spustenie uhlového modulu.
Čo musíte pripraviť:
- odstrániť
ng-app="XXX"
z vášho dokumentu. - volanie
angular.bootstrap()
potom, čo je všetko pripravené.
-1 pre odpoveď č. 2
angular.module("myApp").controller("MYContoller", function ($scope)
{
$scope.init = function()
{
...
};
$scope.init();
}
To by malo fungovať, môžete tiež použiť ng-init, bit si myslí, že dokument uvádza, že by ste nemali "t