2016-09-28 108 views
0

有沒有人有一個想法如何創建一個模塊loginApp和mainApp的angularjs應用程序,登錄將使用login.html和mainApp將使用index.html?如何在另一個引導另一個angularjs應用程序?

以下是我想要實現的場景。

  1. 運行loginApp
  2. 一旦通過驗證,運行mainApp

我目前做上述情況,因爲我希望我的登錄頁面加載速度更快,所以不是使用的index.html其中有很多包括<script>

+0

嘗試使用angular.bootstrap(文件,[ 'mainApp']); –

+0

我不認爲這是一個好主意,有單獨的應用程序。很可能,如果您希望應用程序響應更快,您必須查看使用延遲加載。 http://www.codeproject.com/Articles/1039826/Angularjs-Lazy-Loading-with-Requirejs-and-OcLazylo –

+0

@RaviTeja,是的,我可以用RequireJS和ocLazyLoad做到這一點,也許以後,只想得到一個簡單的骯髒而不是重構整個應用程序。 – imprezzeb

回答

0

您可以手動啓動應用程序。看到這裏[更多] [1]

手動自舉一個AngularJS應用

讓我們先來定義我們的應用程序的主模塊開始:

var myApplication = angular.module("myApplication", []); 

現在,而不是依靠NG-應用屬性,我們可以手動調用angular.bootstrap函數。我們需要將它的應用程序根目錄和我們的主模塊的名稱。這裏是你如何儘快DOM加載完成後調用它:

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

只有一個AngularJS應用程序可以自動自舉每個HTML文檔。在文檔中找到的第一個ngApp將用於定義根元素作爲應用程序自動引導。要在HTML文檔中運行多個應用程序,您必須使用angular.bootstrap來手動引導它們。 AngularJS應用程序不能相互嵌套。 - http://docs.angularjs.org/api/ng.directive:ngApp

又見

https://groups.google.com/d/msg/angular/lhbrIG5aBX4/4hYnzq2eGZwJ 
http://docs.angularjs.org/api/angular.bootstrap 
+0

那麼angularjs如何知道要使用什麼html? – imprezzeb

0

手動角應用程序初始化。

angular.module('myApp', []) 
    .controller('MyController', ['$scope', function ($scope) { 
    $scope.greetMe = 'World'; 
    }]); 

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

更多信息Bootstrap Angular App

相關問題