ng-checked / 复选框的异常行为

Unusual behaviour of ng-checked / checkbox

<input class="ML1" type="checkbox"  ng-checked="item.ph_comp_change"  ng-model="item.ph_comp_change"  ng-true-value="1" ng-false-value="0" />

这创建了一个输入复选框,但问题是我需要取消选中它 2 次,以便从中删除复选标记。但是如果我删除 ng-true-value="1" ng-false-value="0",它工作正常。

工作 JS Fiddle http://jsfiddle.net/U3pVM/14616/

您需要在 ng-checked 上设置条件

ng-checked="item.ph_comp_change === 1"

它会起作用。

我认为不需要 ng-checked,在更改 ng-model 值时 angular 将为您更新值,您将在范围变量中看到效果。

标记

<div ng-app>
     <h2>Todo</h2>

    <div ng-controller="TodoCtrl">
        <div style="float:left;">--->{{item.ph_comp_change}}
            <input class="ML1" type="checkbox" ng-model="item.ph_comp_change" 
            ng-true-value="1" ng-false-value="0" /> 
            <span ng-bind-html="ph_comp_change_label"></span>
        </div>
    </div>
</div>

Fiddle Here