Javascript 将对象绑定到单选按钮组时缺少函数和错误

Javascript 将对象绑定到单选按钮组时缺少函数和错误,javascript,angularjs,Javascript,Angularjs,我正在尝试将对象绑定到单选按钮组。请参考本文中的两段代码。第一个使用ng repeat循环,但失败。我手动重复第二个示例中的元素,但它可以工作。为什么ng重复导致这个问题 示例1 angular .module('listParser',[]) .factory('项',函数()){ 返回函数(id、名称){ this.id=id; this.name=名称; } }) .controller('default',['$scope','Item',function($scope,Item){ v

我正在尝试将对象绑定到单选按钮组。请参考本文中的两段代码。第一个使用ng repeat循环,但失败。我手动重复第二个示例中的元素,但它可以工作。为什么ng重复导致这个问题

示例1
angular
.module('listParser',[])
.factory('项',函数()){
返回函数(id、名称){
this.id=id;
this.name=名称;
}
})
.controller('default',['$scope','Item',function($scope,Item){
var集合=[];
推送(新项(0,'Alpha'));
收集.推送(新项目(1,“Beta”);
$scope.collection=集合;
$scope.lucky=集合[0];
}]);

{{lucky.name}
它不适用于
ng repeat
,因为
ng repeat
确实创建了一个原型继承的子作用域。这意味着,它在
ng repeat
元素的
scope
内创建了一个
lucky
属性,即
lucky
scope变量在
ng repeat
元素外不可用。您可以在
lucky
变量之前强制使用
$parent
前缀,这将最终帮助您将
lucky
指向父范围。但在生产代码中不要这样做,这被认为是不好的做法

在另一种情况下,它不是问题,因为所有作用域都在相同的
上下文上,而在
ng repeat
的情况下,它不是问题

要从根本上解决此问题,您可以在定义
ng模型时使用
Dot-rule
controllerAs
模式


下面是关于
ng repeat

的相同说明。您能打开控制台吗?也许您可以检查示例1中的错误是什么。如果存在错误,您介意分享吗?使用
$parent
是一个更深层问题的症状。如果
ng model
指令和model变量之间存在多个继承作用域级别,则使用
$parent
将失败。@georgeawg,谢谢。同样地编辑问题(:通过遵循“最佳实践”,可以轻松避免使用原语的问题)当然,在您的ng机型中,始终有一个“.”,观看3分钟。Misko演示了
ng开关
的原始绑定问题。我想这回答了我的问题,但您能否为
dot rule
controllerAs
模式链接一篇文章?这不是很容易找到的。我可能会更深入地查找,找到它t它肯定会完成答案(:–观看3分钟。Misko用
ng开关
演示了原始绑定问题。