AngularJS で、新しい項目を配列に追加しようとしています。アイテムは正しく追加されますが、表示には変更が反映されません。
新しいタスクを追加:
$scope.addNewTask = function()
{
console.log( "Before: " + $scope.tasks.length );
$scope.newTask = [
{
id: '3',
title: 'Get answer'
}
];
$scope.tasks.push( $scope.newTask[0] );
console.log( "After: " + $scope.tasks.length ); // one more than before
};
タスク配列:
$scope.tasks = [
{
id: '1',
title: 'Run into problem'
},
{
id: '2',
title: 'Ask question'
}
];
意見:
<ul>
<li ng-repeat="task in tasks>
{{ task.id }} {{ task.title }}
</li>
</ul>
新しいアイテムが追加されたことをコンソールで確認できますが、リストは変更を反映して更新されていません。
編集:違いがあるかどうかはわかりませんが、フォームの送信ボタンをクリックすると、次のように関数が呼び出されます。
<form class="newtask-form" ng-submit="addNewTask()">
<input type="submit" name="submit" value="Add new task" />
</form>