我正在使用键值对ng-repeat迭代对象列表。我想在复选框中添加动态ng模型。 我搜索了很多,但我没有找到任何解决方案。我虽然发现了类似的问题 - define dynamic ng-model inside key value pair ng-repeat但似乎没有答案。
<div id="details_{{key}}" ng-repeat="(key,value) in value" >
<input type="checkbox" ng-model="" ng-change="single_chk()">
</div>
如何为上述ng-repeat添加ng-model的动态属性,我必须在ng-change中传递该值?
答案 0 :(得分:1)
您可以使用密钥或$ index快速创建模型&#39;但请将其作为对象符号,以便在控制器中轻松访问。你的ng-repeat应该有一个名称不是&#39;值&#39;顺便说一句,因为它可能导致(键,值)问题,如下所示。我还建议您习惯使用vm:
<div id="details_{{key}}" ng-repeat="(key, value) in vm.objArray">
<input type="checkbox" ng-model="vm.model.{{key}}" ng-change="vm.single_chk(key)">
</div>
然后在你的控制器中,访问this.model将为你提供一个包含所有模型的对象,无论密钥是什么。您的更改已传递到您在模型本身上使用的密钥,因此非常容易访问:
single_chk(key) {
// this.model[key] holds the model for the key passed in
}