AngularJs-使用视图模型重复ng中的双向绑定

AngularJs-使用视图模型重复ng中的双向绑定,angularjs,Angularjs,我的ng repeat中有一系列复选框: <tr data-ng-repeat="item in blogCategory.items track by $index"> .... <td> <label class="toggle"> <input type="checkbox" name="checkbox-toggle" checked="checked" ng-model="blogCat

我的ng repeat中有一系列复选框:

<tr data-ng-repeat="item in blogCategory.items track by $index">
     ....
   <td>
      <label class="toggle">
      <input type="checkbox" name="checkbox-toggle" checked="checked"
         ng-model="blogCategory.items[$index].publish" ng-true-value="'YES'" ng-false-value="'NO'">
         <i data-swchon-text="YES" data-swchoff-text="NO"></i></label>
  </td>
</tr>

....
我的示例中有两个类别项,第一个是false for publish,第二个是true。它们在checkbox元素上都返回为(false)/NO

$scope虚拟机是BlogCategory,属性/字段是publish

如何正确绑定上面的输入元素

谢谢

给你:

因此,您的问题在于ng模型。您需要在那里发布item.publish。因此,在我的代码中(与您的代码几乎相同,我没有查看确切的属性名称和内容),我有:

  • {{item.name}

看起来angular已将
ngTrueValue
ngFalseValue
的参数类型从1.2.x中的字符串更改为1.3.x中的表达式

尝试删除值周围的单引号,使其看起来像

ng true value=“YES”ng false value=“NO”

您可能正在查看关于
最新版本的文档,因为它默认为
,但您的版本可能是1.2


你能编一把小提琴吗?你的
数据schwon文本
指令做什么?我不认为这是问题所在,
项[$index]。我发布的
也可以。这一点很好-尽管在我看来是不正确的。但你确实是对的。然后我将检查ng真值中的括号——或者用我的JSFIDLE检查任何其他差异。
<ul>
    <li data-ng-repeat="item in items">
      <input type="checkbox" name="checkbox-toggle" checked="checked"
       ng-model="item.isPublished" ng-true-value="YES" ng-false-value="NO" />
        {{ item.name}}
       </li>
</ul>