将复选框的默认值绑定到角度模型,其中true和amp;false表示为'是'&'没有'

Bind default value of a checkbox to angular model where true & false are represented as 'Yes' & 'No'?

本文关键字:amp false 没有 true 表示 其中 绑定 默认值 复选框 模型      更新时间:2023-09-26

我需要将复选框输入的默认值设置为每个模型的现有值(为"quote.user.tracker"),然后在选择或取消选择时更改模型中的值(这里没有问题)。模型值由"Yes"/"No"字符串表示,而不是true/false,这使情况变得复杂。

quote.user.tracker:"quote"是我的控制器,"user"是整个对象,"tracker"是特定属性。

我无法使复选框反映正确的起始值。

我当前的代码:

<input type="checkbox" name="Tracker" id="Tracker" ng-checked="quote.user.tracker='Yes'" ng-model="quote.user.tracker">

我试过另外使用下面的ng显示,但没有用:

<input type="checkbox" name="Tracker" id="Tracker" ng-show="quote.user.tracker='Yes'"ng-model="quote.user.tracker" checked>
<input type="checkbox" name="Tracker" id="Tracker" ng-show="quote.user.tracker='No'"ng-model="quote.user.tracker" checked>  

我做错了什么?谢谢

=正在分配

===或===是比较

<input type="checkbox" name="Tracker" id="Tracker" ng-show="quote.user.tracker==='Yes'"ng-model="quote.user.tracker" checked>
<input type="checkbox" name="Tracker" id="Tracker" ng-show="quote.user.tracker==='No'"ng-model="quote.user.tracker" checked>  

不应将ng-checkedng-model一起使用。来自文档:

请注意,此指令不应与ngModel一起使用,因为这可能会导致意外行为。

您可以使用ng-true-valueng-false-value,如下所示:

<input type="checkbox"
       name="Tracker"
       id="Tracker"
       ng-true-value="'Yes'" 
       ng-false-value="'No'" 
       ng-model="quote.user.tracker">