使用单选按钮时遇到以下奇怪的行为。 我想要完成的事情: 如果数组未定义 - 选择单选按钮1。 定义数组后,选择单选按钮2。
初始状态 - 数组未定义。
function MainCtrl($scope){
$scope.model = {}; };
我遇到的行为:
如果我在两个单选按钮上使用ng-model + value + ng-checked - 一切都按预期工作。小提琴:http://jsfiddle.net/34dT9/
如果我使用ng-checked + NO ng-model + NO值 - 一切正常 预期
但是,如果我使用ng-model + ng-checked + NO值 - NONE of 尽管有单选按钮的条件,但仍会选择单选按钮 被评估为真。小提琴:http://jsfiddle.net/34dT9/1/
我的假设是,由于AngularJS文档(https://docs.angularjs.org/api/ng/input/input%5Bradio%5D)似乎表明该元素必须具有ng-model和value set,但ng-change是可选的。但是,上面的一个测试用例表明,仅使用ng-change(没有看似强制的属性/指令)会产生所需的行为。
我很难理解这种行为,很高兴有人能够向我解释。
提前致谢
答案 0 :(得分:0)
我知道我迟到了。
我已经改变了条件
<input type="radio" ng-model="model.permissions" name="fooradio" ng-checked="model.permissions == null"> Radio 1
<input type="radio" ng-model="model.permissions" name="fooradio" ng-checked="model.permissions != null"> Radio 2
到
<input type="radio" ng-model="model.permissions" name="fooradio" ng-checked="model.permissions === null"> Radio 1
<input type="radio" ng-model="model.permissions" name="fooradio" ng-checked="model.permissions !== null"> Radio 2
我在这里严格检查值(===&amp;!==),这也将检查类型。
请找到第三种情况的工作jsfiddle。