0

我使用 ng-inculde 显示带有复选框的对象我的问题是如果我在同一页面中更改对象 .. 复选框仍然保持其状态。

例如 :

我有类似的模型

 $scope.templates = [{
    name: 'Object 1',
    url: 'template1.html',
    options:['A1','B2']},
{
    name: 'Object 2',
    url: 'template1.html',
    options:['A1','B2']}];

when selected object is object 1 and I check "A1" after that I chnage the selection and move to Object 2 it still shows A1 as selected.

小提琴中给出了详细的场景

4

1 回答 1

0

我很确定这不起作用,因为您上面的 JSFiddle 对options数组值使用了相同的值:

$scope.templates = [{
    name: 'Object 1',
    url: 'template1.html',
    options:['A1','B2']}
{
    name: 'Object 2',
    url: 'template1.html',
    options:['A1','B2']
}];

当 AngularJS 进行脏检查以确定是否需要在 DOM 中更新值时,它需要比较/检查内部值。在您的情况下,数组的值是相同的,options因此 AngularJS 决定不需要更新文档。

我对您的 JSFiddle 做了一些小改动:

  1. 用于ng-model复选框“持久性”
  2. options将数组修改为Object 2对第一个对象唯一
  3. 将AngularJS 库升级到 1.2.1 (您的解决方案不需要这个)


工作示例:http: //jsfiddle.net/MasterXen/3gcqE/2/

于 2014-05-29T22:25:01.043 回答