我有一个ng-repeat,它遍历某些项,并且正在使用editmode参数在标签和输入字段之间切换,以使用户可以在线编辑值。

现在,我希望功能如下:
当用户按下“添加”按钮时,将创建一个新的空(或默认)项目,该项目的editmode设置为true(这样,输入文本框将显示为Save按钮,而不是带有编辑按钮的标签)。

我已经对此进行了很多搜索,但到目前为止找不到清晰的答案。 :(

代码如下:

      <div ng-repeat="todo in todos">
            <span data-ng-hide="editMode">
                {{ todo.name }}
            </span>
            <input type="text" placeholder="{{ todo.name }}" data-ng-show="editMode" data-ng-model="name" data-ng-required />

            <button type="submit" class="btn btn-default btn-xs" data-ng-hide="editMode" ng-click="editMode = true">
                <span class="glyphicon glyphicon-edit"></span>
            </button>
            <button type="submit" class="btn btn-default btn-xs" data-ng-show="editMode" ng-click="editMode = false; editTodo(todo._id)">
                <span class="glyphicon glyphicon-save"></span>
            </button>
            <button type="button" class="btn btn-default btn-xs" ng-click="deleteTodo(todo._id)">
                <span class="glyphicon glyphicon-remove"></span>
            </button>
        </div>


提前致谢

最佳答案

不要将editMode用作范围变量。将其用作待办事项的对象字段(todo.editMode)。对于新的待办事项对象,将其设置为true。

10-04 10:37