我有一个相当大的待办事项列表,我想为其添加就地编辑:
[ ] first todo
[ ] second todo
[ ] third todo
单击第二个待办事项后,可以编辑第二个待办事项的文本,但您也可以在待办事项上设置一些属性:
[ ] first todo
-----------------------------------------------------------
| [ ] second todo__________________ |
| due: __/__/____ |
| assigned: ______________ |
| |
| [save] [cancel] |
-----------------------------------------------------------
[ ] third todo
现在我可以做类似的事情:
<div ng-repeat="todo in todos">
<div ng-show="!doedit">
<input type="checkbox"> <a href="" ng-click="doedit = true">{{todo.title}}</a>
</div>
<div ng-show="doedit" class="boxed">
<input type="checkbox"><input type="text" ng-model="todo.title"><br>
<input type="date" ng-model="todo.due"><br>
<input type="text" ng-model="todo.assigned"><br>
<button ng-click="doedit = false">save</button>
</div>
</div>
这应该可以工作(忽略取消按钮的工作方式),但是如果我有一个大的待办事项列表(100 多个项目),它将创建大量可能从未使用但仍绑定到变量的隐藏元素。
有一个更好的方法吗?我查看了angular-xeditable,它似乎可以动态添加元素,但它仅适用于简单的输入元素。
还是有大量隐藏元素不是角度问题?