我正在构建一个基于来自API的JSON数据的动态无线电输入列表。
我用的是ngRepeat + track by,input[radio]和ngValue。
任何新的XHR请求都将刷新作用域中的数据,但是当前检查的无线电(如果有的话)将未被选中。
请参阅这个plnkr演示:http://embed.plnkr.co/2q1A7krBzxIjkfwhXYcK/preview
这可以通过在ngValue中使用插值指令来解决,但我觉得我做错了:
<input type="radio" name="c" ng-value="{{ choice }}" ng-model="selected.choice" required>这也可以通过使用ng-init来解决,但我仍然觉得自己做错了:
<input type="radio" name="c" ng-init="c = choice" ng-value="c" ng-model="selected.choice" required>有人能解释一下发生了什么事吗?
相关问题:
发布于 2014-06-28 08:55:14
角是在这里使用相等的引用来计算哪个无线电按钮会被勾选,所以当你替换整个xhrData对象时,这个引用就丢失了。
如果添加
$scope.selected.choice = $scope.xhrData.all.choices[2]你的抓取函数的底部。
恐怕您必须在替换xhrData对象之前保存选择,然后在获取新数据后重新设置它。我不知道还有别的办法。
https://stackoverflow.com/questions/24465164
复制相似问题