Javascript AngularJS 1.5需要设置复选框,以便在未选中ng的对象模型下进行检查
由于其他一些冲突和依赖性,我没有使用angularjs 1.6.x,我使用的是1.5.x,所以我不确定是否存在一些bug,但我知道ng checked非常糟糕 所以我有Javascript AngularJS 1.5需要设置复选框,以便在未选中ng的对象模型下进行检查,javascript,angularjs,checkbox,angularjs-ng-repeat,angular-ngmodel,Javascript,Angularjs,Checkbox,Angularjs Ng Repeat,Angular Ngmodel,由于其他一些冲突和依赖性,我没有使用angularjs 1.6.x,我使用的是1.5.x,所以我不确定是否存在一些bug,但我知道ng checked非常糟糕 所以我有ng repeat 2对象 vm.stateList包含所有50个状态 vm.pager包含类似json的对象,在该对象中,如果选择了某个状态,它将位于列表中 因此,我循环显示所有状态作为复选框,但我想将它们设置为选中-如果它们在我的vm.pager对象中找到的话 div ng-repeat="states in vm.stat
ng repeat
2对象
div ng-repeat="states in vm.statesList"
复选框我想在我的对象中选中
<input ng-model="vm.pager.location[$index].state" type="checkbox" id="state{{states}}">{{states.name}}
您可以在控制器中创建一个从每个复选框调用的函数:
<input ng-model="vm.pager.location[$index].state"
type="checkbox" id="state{{states}}"
checked="vm.isInState(states)">{{states.name}}
function isInState(state) {
return vm.pager.findIndex((item) => item.location[0].state === state) > 0 ? true : false;
}
{{states.name}
函数isInState(状态){
返回vm.pager.findIndex((item)=>item.location[0]。state===state)=>0?true:false;
}
我想问几个问题,这个复选框是否在重复?如果location.state中有任何要设置为选中的值,则无值。。。只是它存在的事实。。。它包含一个值、数字或字母。这是一件非常正常/典型的事情吗?标准是尽可能多地保留模板中的逻辑,是的。最好让控制器来处理这个问题。如果你对你的控制器进行了很好的注释,就很容易理解它想要实现什么。这个`checkbox=…`甚至可以识别为会被调用的东西吗?用checked(打字)替换checkbox我不确定“checked”是否真的会调用该函数。也许您可以提供一个JSFIDLE或代码片段
<input ng-model="vm.pager.location[$index].state"
type="checkbox" id="state{{states}}"
checked="vm.isInState(states)">{{states.name}}
function isInState(state) {
return vm.pager.findIndex((item) => item.location[0].state === state) > 0 ? true : false;
}