添加处于可编辑状态的新行

Add new Row in editable state

我有一个简单的转发器,其中每一行都可以在线编辑。作为该转发器的一部分,当我添加新行时,我希望它处于可编辑状态,而不是静态状态。当我尝试将 $scope.editable = true 添加到添加按钮时,它使整个中继器可编辑。

这是一个说明我的代码的 plunker: http://plnkr.co/edit/tVOLYm2mg5be2L6NpM6k?p=preview

$scope.addRow = function() {
    $scope.accounts.unshift({ name: 'Enter Name', id: 'Enter ID', code: 'Enter Code'});
    //$scope.editable = true;
}

任何人都可以帮助我完成我想要完成的事情吗?

谢谢

$scope.editable = false;

此语句在父作用域中设置可编辑值,ng-repeat为每次重复创建子作用域。 你需要理解这个概念。 Look at this question 明白了。

现在,实现您想要执行的操作的更好方法是向帐户数组中的每个帐户对象添加一个新的 属性,使行可编辑或不可编辑。

因此,每当取消转移帐户时,请执行以下操作:

 $scope.accounts.unshift({
      name: 'Enter Name',
      id: 'Enter ID',
      code: 'Enter Code',
      editable: true
  });

并在 html 中使用 account.editable

而不是 editable

您不需要将 editable 属性 添加到您现有的数据中,因为 non-existent 属性隐式为假,因此您的网格将自动处于 non-editable 模式最初。