[英]Angular Editable table not working with ng-repeat
<table class="table table-bordered">
<tbody>
<tr ng-repeat="playerOrTeam in template.editableTable track by $index">
<td style="text-align: center;" ng-repeat="playerOrTeamCat in playerOrTeam track by $index">
<input ng-model="playerOrTeamCat" type="text" class="form-control input-sm">
</td>
</tr>
</tbody>
</table>
template.editableTable是仅填充标准变量的多维数组。 当我更改输入框中的值之一,然后查看template.editable表的输出时,我看不到更改。 我是否缺少明显的东西?
编辑更多详细信息,因为我没有收到任何回复= \\
//Template Class
app.factory('Template', function () {
var Template = function () {
/*
* Public Variables
*/
this.editableTable = someMultiDimensionalTable;
}
/*
* Functions
*/
Template.prototype.SeeEditableTableContents = function () {
console.log(this.editableTable);
}
}
//Main Controller
app.controller('MainController', function () {
$scope.template = new Template();
//etc
}
您不能在ng-repeat中执行直接的直接在线修改。 您可以使用函数更新数组条目。
您想要以下内容:
$scope.saveEntry = function (idx) {
console.log("Saving entry");
$scope.template.editableTable[idx] = angular.copy($scope.model.selected);
$scope.reset();
};
有关示例,请参见JSFiddle 。
好吧,我实际上使它起作用了,因此我可以通过使我的多维表充满对象而不是单独添加值来用ng-repeat进行直接的在线修改。
所以这样做,我修改了表格,使其看起来像这样
<table class="table table-bordered">
<tbody>
<tr ng-repeat="playerOrTeam in template.editableTable track by $index">
<td style="text-align: center;" ng-repeat="playerOrTeamCat in playerOrTeam track by $index">
<input ng-model="playerOrTeamCat.value" type="text" class="form-control input-sm">
</td>
</tr>
</tbody>
</table>
在这里找到了想法, 在ng-repeat的Angular Scope中修改对象
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.