为什么我不能绑定到第二个控制器内的控制器变量?
<div ng-app="ManagerApp"> <div ng-controller="MainCtrl"> Main: <div ng-repeat="state in states"> {{state}} </div> <div ng-controller="InsideCtrl as inside"> Inside: <div ng-repeat="state in inside.states2"> {{state}} </div> </div> </div> </div> var angularApp = angular.module('ManagerApp',[]); angularApp.controller('MainCtrl',['$scope',function ($scope) { $scope.states = ["NY","CA","WA"]; }]); angularApp.controller('InsideCtrl',function ($scope) { $scope.states2 = ["NY","WA"]; }]);
示例:https://jsfiddle.net/nukRe/135/
第二次ng-repeat不起作用.
当您使用控制器时,您应该在控制器中使用此关键字
angularApp.controller('InsideCtrl',[ function() { var vm = this; vm.states2 = ["NY","WA"]; }]);
注意
Technically you should follow one approach at a time. Don’t mix up
this two pattern together,Either usecontrollerAs
Syntax/ Normal
controller declaration as you did forMainCtrl
using$scope