我是AngularJS的新手。 我试图绑定这个对象" Optouts.Spouse"我正在从对象计划重复的复选框。
在我的JS中我有:
$scope.optouts = { spouse: {}, children: {} };
$scope.plans = {mec:true;anotherone:true};
在我的Html中我有:
<span ng-repeat="(plan,x) in plans">{{plan}}
<input type="checkbox" ng-model="optouts.spouse.plan"
ng-checked="!optouts.spouse.plan">
</span>
但它没有绑定到对象。我究竟做错了什么?我怎样才能做到这一点?感谢!!!
真的没有什么可以展示......
their.plans = {};
their.toggles = {};
their.optouts = { spouse: {}, children: {} };
their.optouts = { spouse: {'mec':true}, children: {} };
their.spouse = { has:true,
firstName: 'Mary',
lastName:'Doe',
birthDate:'8/10/1989',
gender:'Female' }
their.plans = { mec:true, mr1: true, anotherone:true }
答案 0 :(得分:1)
既然你在重复计划,我想你正在努力实现这个目标:
<span ng-repeat="(plan,x) in plans">{{plan}}
<input type="checkbox" ng-model="optouts.spouse.plans[plan]">
</span>
您在optouts.spouse.plan上创建了一个属性,但您想要的是在计划下“映射”真/假值。也就是说,通过使用bracket notation和计划的当前值,您可以实现此目的。
默认情况下,所有计划最初都会取消选中,因为它们没有值。该复选框将直观地表示true或false,因此不需要使用ng-checked
。如果复选框至少切换一次,则给定计划将具有真/假值。
如果您需要将它们设置为true,最好的办法是在控制器中迭代它们,并使用值 true 初始化它们。