angular.js - angularjs 中的 controller 能否嵌套?

浏览:29日期:2023-02-10

问题描述

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的中文版,好好看看书吧。比那个只能翻墙看文档的时代好多了。

相关文章: