如果尝试绑定到在父作用域上声明的基元,则子作用域中的selectedItem将有效地遮盖父作用域中同名的属性。
在这种情况下,有3个选择
- 在模型的父级中定义对象,然后在子级中引用该对象的属性:ref.selectedItem
- 使用$ parent.selectedItem(并非总是可能,但比1.容易)
- 在父级作用域上定义一个函数,然后从子级调用它,将原始值传递给父级(并非总是可能的)
有关它的更多信息,请参见https://github.com/angular/angular.js/wiki/The-Nuances-of-Scope-
Prototypal-Inheritance
您可以使用第一种方法在http://jsfiddle.net/sudhh/XU2rP/1/中找到更新的提琴。
function CtrlA($scope) { $scope.items = ['x', 'y']; $scope.ref = { selectedItem: 'x' };}


