在AngularJS中的另一个控制器中使用控制器

在AngularJS中的另一个控制器中使用控制器,angularjs,binding,controller,angularjs-controller,angularjs-controlleras,Angularjs,Binding,Controller,Angularjs Controller,Angularjs Controlleras,为什么我不能绑定到第二个控制器中的控制器变量 <div ng-app="ManagerApp"> <div ng-controller="MainCtrl"> Main: <div ng-repeat="state in states"> {{state}} </div> <div ng-controller="InsideCtrl as ins

为什么我不能绑定到第二个控制器中的控制器变量

<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', ['$scope', function ($scope) {
    $scope.states2 = ["NY", "CA", "WA"];
}]);

主要内容:
{{state}}
内部:
{{state}}
var angularApp=angular.module('ManagerApp',[]);
angularApp.controller('MainCtrl',['$scope',函数($scope){
$scope.states=[“纽约州”、“加利福尼亚州”、“华盛顿州];
}]);
angularApp.controller('InsideCtrl',['$scope',函数($scope){
$scope.states2=[“纽约”、“加州”、“华盛顿州];
}]);
例如:


第二次ng重复不起作用。

当您使用
controllerAs
时,您应该在controller中使用
这个
关键字

angularApp.controller('InsideCtrl', [ function() {
    var vm = this;
    vm.states2 = ["NY", "CA", "WA"];
}]);

注意

从技术上讲,你应该一次遵循一种方法。别搞混了 这两种模式一起使用,或者使用
controllerAs
syntax/Normal 使用
$scope

除去

像里面一样

从这里开始:

以便:

`<div ng-controller="InsideCtrl">`
``

主要内容:
{{state}}
内部:
{{state}}

如果有人偶然发现这个答案,它是正确的,但显然只是从Angular 1.2.1开始。OP小提琴选择了角度1.1.1,Pankaj将其设置为1.2.1。我花了15分钟的时间“为什么这个更改不起作用”来解决这个问题。欢迎来到Stack Overflow!请解释一下为什么会这样,现在这是一个不符合标准的答案。
<div ng-app="ManagerApp">
    <div ng-controller="MainCtrl">
        Main: 
        <div ng-repeat="state in states">
            {{state}}
        </div>
        <div ng-controller="InsideCtrl">
            Inside:
            <div ng-repeat="state in states2">
                {{state}}
            </div>
        </div>
    </div>
</div>