我有一个基本的 crud 应用程序,我在表格中隐藏列以仅显示用户想要查看的输入。我设法通过将 a 绑定ng-model
到表列并将相同的模型绑定到复选框来显示/隐藏输入,因此在选中复选框时它会隐藏。
因为我有很多数据,我不想将输入保留在我的模板中,所以我决定改为使用ng-repeat
它们。
这是我的控制器:
// simplified for this Q
$scope.columns = [
{ name: '#ID', checked: false, model: 'checkedId' },
{ name: 'Container', checked: false, model: 'checkedContainer' },
{ name: 'Type', checked: true, model: 'checkedType' }
];
这是在我的 html 中(在呈现之前):
<label ng-repeat="col in columns">
<input type="checkbox" name="cols[]" value="{{col.name}}"
ng-checked="col.checked" ng-model="col.model"><span>{{col.name}}</span>
</label>
呈现的 html 如下所示:(对于数组 [array slot 1] 中的第二项)
<label ng-repeat="col in columns" class="ng-scope">
<input type="checkbox" name="cols[]" value="Container"
ng-checked="col.checked"
ng-model="col.model" class="ng-pristine ng-valid">
<span class="ng-binding">Container</span>
</label>
我隐藏这样的元素:
<input type="checkbox" ng-model="checkedContainer"><span>checkedId</span>
要隐藏的元素如下所示(另一个中继器)
<td class="check-element" ng-hide="checkedContainer">{{ c.container }}</td>
所以 mg-model 绑定了列,如果我像上面一样手动插入输入,它就可以工作。但是当循环它没有。我发现问题出在循环上。这样模型就不会被评估,而是在 html 中保持为“col-model”。有没有办法将模型评估为相应的模型$scope.columns
数组中的相应模型?
基本上我希望我$scope.columns.model
被评估为它所属的模型。我设法通过将 mg-model 更改为 ng-bind 来绑定值,但这对数据绑定不起作用,因为我理解它只有一种方式。