https://jsfiddle.net/bngk/7urrobaa/
<div ng-repeat="item in items" ng-init="item.showCb = item.value == 'true' || item.value == 'false'">
<input type="checkbox" ng-if="item.showCb" ng-true-value="true" ng-false-value="false" ng-model="item.value" ng-checked="item.value == 'true'">{{items[$index].value}}</input>
<input type="text" ng-if="!item.showCb" ng-model="item.value"/>
</div>
我在绑定ng-repeat中的复选框时遇到问题,如果我在默认情况下检查的值很少,而且模型中的值没有正确更新,并且默认情况下都没有检查,则它可以工作,但值会更新虽然我提到ng-true-value =“true”和ng-false-value =“false”作为字符串,但它保留了布尔值。我希望字符串值出现在模型中。请检查我的小提琴。感谢您的支持。
答案 0 :(得分:2)
如果您查看文档:{{3}},您可以看到ng - * - value接受表达式。因此,如果您只是放置ng-true-value="true"
,它会将true视为表达式。
如果你放ng-true-value=" 'true' "
,那么就知道它是一个字符串。
但如上所述,您的代码中还有其他一些错误。