angular js默认勾选单选按钮

angular js default checked radio button

我知道这可能已经被问过很多次了,我已经完成了解决方案,但是 none 似乎对我有用...

html 文件:

<input id="sampleA" name="try" type="radio" data-ng-model="$ctrl.isSampleA" value="true" data-ng-change="$ctrl.update()"></input>
<label for="sampleA">Sample A</label>
<input id="sampleB" name="try" type="radio" data-ng-model="$ctrl.isSampleA" value="false" data-ng-change="$ctrl.update()"></input>
<label for="sampleB">Sample B</label>

js文件:

//Initialization:
vm.isSampleA = false;
//This function returns the correct boolean value returned by API
    vm.update = function() {
    vm.isSampleA = response.rows["0"].sampleA;
};

我将简要解释流程: 默认检查最初是 'Sample B' 选项。然后用户检查 'Sample A' 选项并将更新后的值发送到 REST API,在那里它得到正确更新。接下来当我想再次编辑此表单时:

预期:'Sample A' 应检查

实际:检查了 2 个选项中的 none,即使 'isSampleA' 的值为真。

使用 ng-value 指令而不是普通的 value 属性:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<script>
  angular.module('app', [])
</script>

<div ng-app='app' ng-init='test=true'>
  <label>
    <input type="radio" ng-model="test" ng-value="true">
    One
  </label>
  <br/>
  <label>
    <input type="radio" ng-model="test" ng-value="false">
    Two
  </label>
  <br/>
  <button ng-click='test = !test'>Click</button>
</div>