问题描述
angularjs 里的 controller 能嵌套吗?
如:
<p ng-controller='ACtrl'> <p ng-controller='BCtrl'><p>{{ value }}</p> </p></p>
在 BCtrl 中修改 $scope.value 的值,然后在 ACtrl 中使用貌似会报错 inprog。
问题解答
回答1:可以嵌套,不过使用上应该是需要用$parent变量的。http://fdietz.github.io/recipes-with-angular-js/controllers/sharing-models-between-nested-controllers.html
回答2:http://stackoverflow.com/questions/21287794/angularjs-controller-as-syntax-clarification
回答3:可以嵌套,用'controller as ctrl'的语法比较好。想问题中那样子的写法,就根本不知道value来自ACtrl还是BCtrl
<p ng-controller='ACtrl as a'> <p ng-controller='BCtrl as b'><p>{{ b.value }}</p> </p></p>回答4:
必须可以嵌套,要不然也不会轻易撼动JQuery的统治地位了,真心想学的话推荐 Angular权威指南 一书
回答5:国内目前最好的书应该改是ng-book的中文版,好好看看书吧。比那个只能翻墙看文档的时代好多了。