簡體   English   中英

通過angular.bootstrap將myApp重置為主體

[英]reset myApp into body by angular.bootstrap

我有個問題。
我想設計多個模塊,每個模塊將自行配置路由。 在登錄之前,我只想加載3個模塊(帶有3個路由),而在登錄之后,我繼續加載3個模塊(帶有3個路由)。 因此,我需要重新配置myApp以添加新路由,然后將其重新設置為主體以應用myApp。

我的解決方案是:
我創建mainModule是myApp,並對其進行配置,然后通過angular.bootstrap設置為主體

angular.element(document).ready(function() {
    angular.bootstrap(document.body, ["myApp"]);
});

然后,我需要為myApp重新配置,然后再次設置。

angular.element(document).ready(function() {
     angular.bootstrap(document.body, ["myApp"], true);
});

發生錯誤

 [ng:btstrpd] App Already Bootstrapped with this Element '<body cz-shortcut-listen="true" class="ng-scope">'(…)

如何將myApp重置為主體或任何解決方案? 謝謝,

雖然延遲加載不在Angular列出的功能中,但某些配置階段固有的功能可以在運行時執行(雖然不建議使用它們,並且屬於“自擔風險”類別)。

當提供者在實例化之前用於配置服務時,很可能(取決於服務實現)可以在實例化之后使用它來配置它,例如

app.config(function ($routeProvider, $provide) {
  // now $routeProvider is available for injection during both config and run phases
  $provide.constant('$routeProvider', $routeProvider);
});

app.run(function ($routeProvider,  $location) {
  $routeProvider.when('/brand-new-route', { ... });
  $location.path('/brand-new-route');
});

這里更多有關這種噴油器的竅門。

此方法不是禁止的,而是依賴於當前的服務實現和未記錄的行為,因此必須徹底測試或完全避免使用此方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM