【问题标题】:ng-model in checkbox seems one way复选框中的 ng-model 似乎是一种方式
【发布时间】:2015-03-12 20:26:25
【问题描述】:

我有一个从模型更新的复选框,但是单击该复选框后模型没有更新。

在我的表格中:

<input type="checkbox"  ng-model="acceptEula"> I have read the EULA and I agree
<button type="submit" ng-click="pay()" translate>Proceed to Pay</button>
{{acceptEula}}

点击复选框,我可以看到 {{acceptEula}} 如何显示真假,它的工作原理。

当我点击按钮时,我在 pay() 函数中放置了一个细分。 $scope.acceptEula 总是假的。可能是什么问题?

【问题讨论】:

  • 您对没有范围界定问题有多大信心?我会确保您在控制器中声明 $scope.acceptEula = false 以便继承正常工作。更好的是$scope.formData.acceptEula = false。
  • 是的,在控制器中我有 $scope.acceptEula = false。实际上,如果我将其更改为 $scope.acceptEula = true;然后复选框被选中并且 $scope.acceptEula 在调试器中为真。问题是我有同样的问题,我检查了控件,但调试器继续给我 true。
  • @DabielKabuto 请看这里jsbin.com/wonuyuzege/1/edit 似乎工作正常

标签: angularjs angularjs-scope


【解决方案1】:

抱歉,为了简化问题,问题没有详细说明。实际上,我在表单中使用了“ng-switch”。 最后我发现了问题:“这是一个范围继承问题,因为 ng-switch 创建了它自己的范围。”。在angularjs - ng-switch does not bind ng-model 有很好的解释

解决办法是在模型中使用点,例如$scope.form.acceptEula

【讨论】:

    猜你喜欢
    • 2020-07-05
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多