2016-05-22 3 views
0

ng-repeatを使ってdiv todoアイテムのセットを作成しています。私はこの新しく作成されたアイテムに自動的に "editing = true"スタイリングを適用し、可能であればフォーカスを適用します。新しいアイテムの条件付きng-initステートメントをスコープ内に書く

<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

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"> 
でアクセス
関連する問題