不确定发生了什么。我想在更改时触发一个函数并将obj传递给它。据我所知,因为它绑定到选定的obj所以我可以使用ng-model。但在这种情况下,当我切换单选按钮时没有任何改变。
<label ng-repeat="obj in dayGroups">
<input ng-model="selectedDayGroup" type="radio" name="dayGroups"> {{obj.name}}
</label>
<!-- nothing happens -->
{{selectedDayGroup}}
//init
$scope.selectedDayGroup = null;
答案 0 :(得分:3)
您可以使用value
或ng-value
。此外,由于您正在进行重复操作,因此您必须使用$parent
来达到您想要的范围:
<body ng-controller="Channels">
<label ng-repeat="obj in dayGroups">
<input ng-model="$parent.selectedDayGroup" type="radio" name="dayGroups" ng-value="obj"> {{obj.name}}
</label>
{{selectedDayGroup}}
</body>
答案 1 :(得分:0)
NG-Repeat创建一个独立的范围,因此您无法像这样更改外部控制器范围变量。
您可以使用$ parent显式选择外部范围变量,也可以使用controller-as语法显式选择外部范围。我更喜欢后者。
正如其他人所说,使用ng-value或value(仅限字符串)作为输入。