我正在使用ng-repeat创建一组div todo项目。我想要发生的是自动将“editing = true”样式应用于这个新创建的项目,并在可能的情况下应用焦点。
<div class="item" ng-class="{'editing-item': editing, 'edited': todo.edited, 'completed': todo.completed}"
ng-repeat="todo in todos | orderBy: 'completed'" ng-init ="todo.completed = false">
我还有一个用于创建新项目的添加按钮
<div class="add">
<span class="add" ng-click="addTodo()">
</span>
</div>
以下是“addTodo()”的代码
$scope.addTodo = function(){
var todo = {name: "..."};
$scope.todos.unshift(todo);
};
创建这个新项目时,我可以在ng-init中有条件地设置editing = true,还是只能通过某种方式使用jQuery?我已经通过使用新创建的div的索引号来做这个,但没有运气。帮助设置焦点到这个输入项目的奖励积分,非常感谢你!
答案 0 :(得分:0)
在editing
对象中保留todo
属性并在ng-repeat
$scope.addTodo = function() {
var todo = {
name: "...",
editing: true
};
$scope.todos.unshift(todo);
};
<div class="item" ng-class="{'editing-item': todo.editing, 'edited': todo.edited, 'completed': todo.completed}" ng-repeat="todo in todos | orderBy: 'completed'" ng-init="todo.completed = false">