在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>