如何在对象

时间:2015-04-26 08:14:41

标签: angularjs

我使用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}];
  }

1 个答案:

答案 0 :(得分:1)

您应该引用details数组中的选定值,而不是创建新实例:

$scope.details = [{ name:'Abc', age:2 }, { name:'Xyz', age:3 }, { name:'Def', age:4 }];    
$scope.selectedVal = $scope.details[2];

这将选择3个单选按钮中的最后一个。此外,如果detailsselectedVal都定义在同一范围内,您也应该更新单选按钮,我们还不清楚为什么您从selectedVal引用了$parentScope

<input type="radio" ng-model="selectedVal" ng-value="detail" name="test" />

这是更新的小提琴:https://jsfiddle.net/sb3krc8c/2/