我想显示一个事物列表,让用户编辑它们。
使用ng-repeat
生成列表。首先,当它被显示时,它应该是纯文本的形式。但是当用户按下相应的编辑按钮时,应将其更改为输入文本字段,内容不变。当用户提交表单时,数据将被保存,输入应更改回纯文本。
这与Angular的思维方式兼容吗?如果是这样,我怎么知道呢?如果没有,在AngularJS中实现这个想法的正确方法是什么?
答案 0 :(得分:3)
这样的事可能有用:
<ul>
<li ng-repeat='item in items'>
<span ng-hide='item.editing'>item.value</span>
<input type='text' ng-show='item.editing' ng-model='item.value' />
<button ng-click='item.editing = !item.editing'>Edit</button>
</li>
</ul>
然后在提交操作集item.editing = false
中为项目
答案 1 :(得分:1)
我更喜欢使用角度js的其他方式或方式是在范围内保持当前项目的跟踪,如果您正在编辑的字段数量很大,这将更好用
$scope.currentitem;
将当前项目设置为正在编辑的项目
<button ng-click='currentitem = item'>Edit</button>
现在您可以填写一份表格,如
<input type='text' ng-model='currentitem.value' />