嵌套的ng-app问题

时间:2016-06-19 20:03:13

标签: angularjs

我正在尝试在另一个ng-app中使用ng-app。另外两个ng-app都执行它们的功能,但当它们相互进入时会产生错误。 例如

<body ng-app>
<div ng-app="MyApp" ng-controller="MyCtrl">
-----
</div>
<div ng-controller="ctrl">
........
</div>
</body>

执行时,这会给出错误

  

参数'MyCtrl'不是函数,未定义

如果任何人对此问题有任何解决方案,或者有其他技巧来解决此问题,请帮助我。

2 个答案:

答案 0 :(得分:1)

AngularJS应用程序不能互相嵌套。您需要做的是以不需要这样的方式设计模块。 (例如,使用嵌套控制器或将应用程序拆分为单独的模块)

从AngularJS网站查看这个主题,它明确提到应用程序不能嵌套:

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

要更好地了解如何将角度应用分成几个模块,请查看以下资源:

http://henriquat.re/modularizing-angularjs/modularizing-angular-applications/modularizing-angular-applications.html

https://www.safaribooksonline.com/blog/2014/03/27/13-step-guide-angularjs-modularization/

答案 1 :(得分:0)

只允许使用一个ng-app。它可以依赖许多模块

示例:

//app.js
angular.module('app',['subApp'])
.run(() => { ... })

//meanwhile in subapp.js
angular.module('subapp', [])
.run(() => { ... })