Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有AngularJS的单选按钮的奇怪行为_Javascript_Html_Angularjs_Input_Angularjs Directive - Fatal编程技术网

Javascript 带有AngularJS的单选按钮的奇怪行为

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,则 单选按钮

我在使用单选按钮时遇到了以下奇怪的行为。 我想要完成的是: 如果数组未定义-选择单选按钮1。 定义阵列后,选择单选按钮2

初始状态-数组未定义

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