我有一个简单的中继器,可以在线编辑每行。作为该中继器的一部分,当我添加新行时,我希望它处于可编辑状态,而不是静态的状态。当我尝试添加$ scope.edibled =在添加按钮中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使每个重复的子范围都可以。您需要了解这个概念。看看这个问题以了解这一点。
现在,实现您要做的事情的更好方法是将新属性添加到帐户数组中的每个帐户对象中,以使行可编辑或不可编辑。
因此,每当解开帐户时,请执行以下操作:
$scope.accounts.unshift({
name: 'Enter Name',
id: 'Enter ID',
code: 'Enter Code',
editable: true
});
和在html中,而不是使用 editable
,而是使用 account.editable
您不需要将editable
属性添加到现有数据中,因为不存在的属性是隐式虚假的,因此您的网格最初会自动处于不可编辑的模式。