AngularJS嵌套作用域/视图

AngularJS Nested Scope/View

本文关键字:视图 作用域 嵌套 AngularJS      更新时间:2023-09-26

是否可以访问在$parent 's, $parent范围内定义的$scope变量?

例如:

var foo = $scope.$parent.$parent.foo; /* evaluates to undefined */

这是可能的,建议,有更好的替代方案吗?

在这种情况下,您应该遵循点规则,这将允许您在没有$parent注释的情况下访问父范围。

如果你看一下 ng-controller API,你会发现scope: true选项确实意味着新控制器确实创建了一个从父控制器原型继承的范围,这确实允许访问已经在父范围中声明的对象属性。

基本上遵循原型继承。

标记

<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';
})