- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下单选按钮:
<input type="radio" ng-value="option.text" ng-model="selected.value" name="option" ng-checked="poll_post.poll_option_id == option.id">
我已经仔细检查了 poll_post.poll_option_id
和 option.id
是否相等。因此 ng-checked 内的表达式被评估为 true。但在 View 中,该选项未被选中。我究竟做错了什么?
最佳答案
你不应该一起使用 ngModel 和 ngChecked。
ngChecked 是一种单向绑定(bind),也就是说,它只会检查表达式的值并相应地设置输入,但如果您更改输入的值,它不会将该值传递给它所绑定(bind)的变量。
另一方面,ngModel 将检查其绑定(bind)的变量的值,并在输入更改时设置变量的值。
ngChecked 相对于 ngModel 的优点是您可以使用表达式而不是变量。
不过,如果两者都存在,ngModel“胜过”ngChecked(ngChecked 的优先级为 100,而 ngModel 的优先级为 1,请在此处搜索“优先级”: https://docs.angularjs.org/api/ng/service/ $compile ),并且 ngChecked 表达式的更改将不会被通过到变量 ngModel 绑定(bind)到
您可以在此 Plunker 中看到,即使 Val1
具有 checked="true"
,变量 $scope.selected
设置为 Val2
所以 ng-model 胜过 ng-checked http://plnkr.co/edit/nae3b46KNzFKVTqEQPG3?p=preview
如果您想以编程方式更改复选框的状态,您应该编辑已绑定(bind) ng-model 的变量,或删除 ng-model 并仅保留 ng-checked (这取决于您在做什么)。
了解更多信息:
AngularJS: ng-model not binding to ng-checked for checkboxes
https://docs.angularjs.org/api/ng/directive/ngChecked
关于javascript - AngularJS:ngChecked 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33567813/
是否可以在您想要取消选择所有其他选中复选框的复选框上使用 ngChecked。下面是我想要执行的操作的示例,除了功能选择全部我想取消选择全部 http://plnkr.co/edit/iseIU1OI
这是逻辑,但我在继续时遇到问题。 mouseenter/mouseleave 显示/隐藏复选框,如果选中复选框,则禁用鼠标并离开功能以使复选框保持可见。 我的代码和演示 http://plnkr.co
我有以下单选按钮: 我已经仔细检查了 poll_post.poll_option_id 和 option.id 是否相等。因此 ng-checked 内的表达式被评估为 true。但在 View 中
我正在尝试将对象的值绑定(bind)到星星(单选按钮): = 1" name="star" class="star-1" id="star-1" /> 1 = 2" n
我想显示单击复选框项目的结果。为此,我尝试使用 ng-click ,但它仅在未选中而不是选中后才返回结果。 这是我的代码: HTML:
我是一名优秀的程序员,十分优秀!