嵌套的ng-app控制器proglem

时间:2017-06-24 10:46:21

标签: angularjs

我想在另一个ng-app(嵌套)中使用ng-app。 我有每个应用程序的控制器,控制器具有相同的名称
代码在这里:

<!DOCTYPE html>
<html>
<head>
<script src="/scripts/angular.js"></script>
<script src="/scripts/Controller1.js"></script>
<script src="scripts/Controller2.js"></script>
</head>
<body ng-app="MasterApp">
    <div ng-controller="myController as myCtr">
        {{myCtr.testValue}} --->  controler 1
        <div ng-app="DetailApp">
            <div ng-controller="myController as myCtr">
                {{myCtr.testValue}}  ----> controller 2
            </div>
        </div>
    </div>
</body>
</html>


Controlle1.js代码:

 var MasterApp = angular.module("MasterApp", ["DetailApp"]);
MasterApp.controller("myController", function ()
 {
    var myCtr = this; 
    myCtr.testValue = " a value from Master App ";
});


Controller2.js代码:

var DetailApp = angular.module("DetailApp", []);
DetailApp.controller("myController", function () 
{
    var myCtr = this;
    myCtr.testValue = " a value from Detail App ";
});


现在!控制器2返回控制器1的值!


结果:

来自Master App的值
来自Master App的值


这是我的问题,任何想法?

1 个答案:

答案 0 :(得分:0)

这是angularjs docs所说的内容,所以你尝试做的事情是不可能的。

  

AngularJS应用程序不能互相嵌套。

https://docs.angularjs.org/api/ng/directive/ngApp

但有些人找到了解决方法。查看这篇文章

Can I use one ng-app inside another one in AngularJS