Javascript 带有AngularJS的单选按钮的奇怪行为
我在使用单选按钮时遇到了以下奇怪的行为。 我想要完成的是: 如果数组未定义-选择单选按钮1。 定义阵列后,选择单选按钮2 初始状态-数组未定义Javascript 带有AngularJS的单选按钮的奇怪行为,javascript,html,angularjs,input,angularjs-directive,Javascript,Html,Angularjs,Input,Angularjs Directive,我在使用单选按钮时遇到了以下奇怪的行为。 我想要完成的是: 如果数组未定义-选择单选按钮1。 定义阵列后,选择单选按钮2 初始状态-数组未定义 function MainCtrl($scope){ $scope.model = {}; }; 我遇到的行为: 如果我在两个单选按钮上都选中了ng模型+值+ng- 一切正常。小提琴: 如果我使用ng checked+无ng model+无值-一切正常 预料之中 但是,如果我使用ng model+ng checked+NO value,则 单选按钮
function MainCtrl($scope){
$scope.model = {}; };
我遇到的行为:
如果我在两个单选按钮上都选中了ng模型+值+ng-
一切正常。小提琴:
如果我使用ng checked+无ng model+无值-一切正常
预料之中
但是,如果我使用ng model+ng checked+NO value,则
单选按钮处于选择状态,尽管单选按钮的条件不同
被评估为真的。小提琴:
我的假设是,由于AngularJS文档似乎声明元素必须具有ng模型和值集,但ng更改是可选的,所以这种行为是由这一事实引起的。然而,上面的一个测试用例表明,仅使用ng更改而不使用看似强制性的属性/指令可以产生所需的行为
我很难理解这种行为,很高兴有人能向我解释
提前谢谢我知道我迟到了
我已将条件从
<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