我使用ng-value和ng-model使用对象数组在angularjs中创建了单选按钮。
`
<div ng-controller="DemoController">
<div ng-repeat="detail in details">
<input type="radio" ng-model="$parent.selectedVal" ng-value="detail" name="test">
</div>
{{selectedVal}}
</div>
` 在选择单选按钮模型时填充相应的对象值。但我不确定如何使用带对象的控制器初始化它。
var app = angular.module('myApp', []);
app.controller("DemoController",DemoController);
function DemoController($scope) {
$scope.selectedVal={name:"Def",age:4} ;
$scope.details=[{name:'Abc',age:2},{name:'Xyz',age:3},{name:'Def',age:4}];
}
答案 0 :(得分:1)
您应该引用details数组中的选定值,而不是创建新实例:
$scope.details = [{ name:'Abc', age:2 }, { name:'Xyz', age:3 }, { name:'Def', age:4 }];
$scope.selectedVal = $scope.details[2];
这将选择3个单选按钮中的最后一个。此外,如果details
和selectedVal
都定义在同一范围内,您也应该更新单选按钮,我们还不清楚为什么您从selectedVal
引用了$parentScope
:
<input type="radio" ng-model="selectedVal" ng-value="detail" name="test" />
这是更新的小提琴:https://jsfiddle.net/sb3krc8c/2/