1
私はAngularjsとfirebaseを使ってタスクタイマーのアプリを作成しています。 firebaseオブジェクトを作成して、コンソールにtask.newTask
を記録しようとするときを除いて、すべて正常に動作します。ここに私のコードのビットは、(これは、すべてのコードではありません注意してください)です。エラーは素晴らしいことだconsole.log(task.newTask);
タイプエラー:定義されていない値 'name'を読み取ることができません
すべてのヘルプで起動したページロードで
//HTML
<aside id="sidebar">
<section id="widget_1">
<h2 class="titles">Task History:</h2>
<input id="text-field" type="text" ng-model="taskText" />
<input id="task-button" type="button" value="Add Task" ng-click="addTask()" />
</section>
<section id="widget_2">
<h2 class="titles">Task List:</h2>
<table>
<tr ng-repeat="task in timer_tasks | orderBy: '-taskText'">
<td>{{ task.taskText }}</td>
</tr>
</table>
</section>
</aside>
//Controller:
(function() {
'use strict'
function HomeCtrl($scope, $firebaseArray, $interval) {
console.log('I see you home controller ... you are loaded sir!!!')
var timerRef = firebase.database().ref().child('timer_tasks');
$scope.timer_tasks = $firebaseArray(timerRef);
$scope.addTask = function() {
$scope.timer_tasks.$add({
taskText: $scope.taskText,
newTask: true
}).then(function (timerRef) {
$scope.taskText = '';
});
};
console.log(task.newTask);
。前もって感謝します!
実際に正しいエラーメッセージは「タスクが定義されていません」です...ありがとうございます! –
'task'がコントローラに定義されていないため、ng-repeatで使用した要素はコントローラに自動的に戻されません。 ng-selectまたはng-clickなどを使用します。 –
[タスクの追加]ボタンでng-click = "addTask()"を使用しています。それは間違っていますか?または十分ではない? ...それがうまくいかない場合、どこでng-clickを使うべきですか? Thx –