如何使用附加到html标签的嵌套ng-app将一个基于angularjs的SPA包含到另一个基于angularjs的SPA中?

时间:2016-01-13 16:10:20

标签: javascript angularjs ng-app

Angular模块定义为:

angular.module('module1',['ngRoute']);

module1 的路由定义为

 module1.config(function($routeProvider) 
 {
      $routeProvider
      .when('/Application1',
       {
            templateUrl: 'Application1/Application1_HomePage.html',
       })         
      .otherwise({
          templateUrl: 'MainPage.html',
          controller: 'ctrl'
      )}
 });

控制器 ctrl 定义为:

 module1.controller('ctrl',function($scope,$location)
 {
         $scope.goToApp1 = function()
         {
              $location.path('/Application1',true);
         }
 });

shell页面如下:

<html ng-app="module1">
   <body>
      <div ng-view>   </div>                   
   </body>
</html>

Application1_HomePage.html包含另一个ng-app而不是shell页面ng-app module1

从上面显示的shell页面中,当通过routeProvider调用Application1_HomePage.html时,在Application1_HomePage.html内部写入的ng-app的初始化失败。浏览器检查员清楚地显示了DOM中没有任何内容。

考虑到上述情况,如何从一个ng-app导航到另一个ng-app?

1 个答案:

答案 0 :(得分:0)

假设两个模块都有一个入口页面,您只需将链接放到另一个应用页面,例如:

您加载module1Index.html并在该页面上放置了一个指向module2Index.html的链接:

<a href="http://module2.com"></a>

如果您需要两个模块位于同一页面上,只需在另一个模块中包含一个:

angular.module('module1', ['module2']);