繁体   English   中英

Angular Editable表不适用于ng-repeat

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM