Ich arbeite mit Angularjs und Firebase, um eine App zu erstellen, die ein Task-Timer ist. Ich erstelle das Firebase-Objekt und alles funktioniert einwandfrei, außer wenn ich versuche, task.newTask
auf der Konsole zu loggen. Hier ist ein bisschen meinen Code (bitte beachten Sie, das der Code nicht alles):type error: Kann den Wert 'name' von undefined nicht lesen
//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);
Auf Seite Last der Fehler aufkommt bei console.log(task.newTask);
Jede Hilfe wäre toll. Danke im Voraus!
Die korrekte Fehlermeldung hier ist eigentlich "Aufgabe ist nicht definiert" ... Danke! –
'task' ist nicht im Controller definiert, das Element, das Sie in ng-repeat verwendet haben, wird nicht automatisch an den Controller gebunden. Sie benutzen entweder ng-select oder ng-click etc. –
Ich benutze ng-click = "addTask()" auf der Schaltfläche Add Task. Ist das falsch? Oder nicht genug? ... wo sollte ich ng-click verwenden, wenn das nicht funktioniert? Thx –