请考虑这种情况:您创建一个简单状态多重检查,并通过角度过滤器提供对其的搜索。见this fiddle。角度可以保持DOM状态,并基于什么条件
<div ng-app>
<h2>Instant Search</h2>
<div ng-controller="SearchCtrl">
<input type="text" ng-model="filterText" />
<ul>
<li ng-repeat="state in states | filter:filterText">
<label>
<input type="checkbox" ng-model="state.abbreviation">
{{state.name}}
</label>
</li>
</ul>
</div>
</div>
检查阿拉巴马和阿拉斯加。然后将列表重新过滤到以C开头的状态。阿拉巴马州和阿拉斯加州将从DOM中删除。但是,如果您清除筛选器,它们会再次出现,但令我惊讶的是,它们显示为已检查。这意味着角度应该保持某种状态,某处。但在这里,我只有一串简单的状态。没有Ids,没有钥匙,什么都没有。只是简单的州标题。所以,问题是:
- js如何保持或管理状态?
- 它如何做映射(使用什么样的密钥或ID)?
如果你不想追踪他们的状态,复选框是什么?可以设置一条指令,在执行搜索时清除它们。不清楚你需要什么 – charlietfl
我想知道角度js如何追踪它们。看到我的第二个问题(编号2)。 –
只要您添加了'ng-model',就会为2路绑定创建一个范围变量,除非您已经创建了它。 http://docs.angularjs.org/api/ng.directive:ngModel – charlietfl