是否可以访问$scope
,$parent
范围内定义的$parent
变量?
E.g:
var foo = $scope.$parent.$parent.foo; /* evaluates to undefined */
这是否可行,建议有更好的选择吗?
答案 0 :(得分:1)
在这种情况下,您应该遵循dot rule,这样您就可以访问父作用域而无需$parent
注释。
如果查看ng-controller
API,您会发现scope: true
选项确实意味着新控制器确实创建了一个原型继承自父控制器的范围,它允许访问对象属性已在父母范围内宣布。
基本上,这跟随prototypal inheritance.
<强>标记强>
<div ng-controller="myController">
<h1>my Controller Scope Here</h1>
<input type="text" ng-model="myCtrl.data"/>
<div ng-controller="innerController">
{{myCtrl.data}}: {{innerCtrl}}
</div>
</div>
<强>控制器强>
app.controller('myController', function($scope){
$scope.myCtrl = {};
})
app.controller('innerController', function($scope){
$scope.innerCtrl = 'inner Data';
})