TypeError: undefined is not a function when using Firebase.push()
TypeError: undefined is not a function when using Firebase.push()
关注 Lynda.com 使用 Angularjs 构建 data-driven 应用程序。
我正在使用 MeetingsController 尝试将数据推送到 Firebase,但出现以下错误:
TypeError: undefined is not a function
at g.$scope.addMeeting (meetings.js:10)
这指向meetings.push行
会议控制器
myApp.controller('MeetingsController', function($scope, $firebaseObject) {
var ref = new Firebase('https://attendanced****.firebaseio.com/meetings');
var meetings = $firebaseObject(ref);
$scope.meetings = meetings;
$scope.addMeeting = function() {
meetings.push({
name: $scope.meetingname,
date: Firebase.ServerValue.TIMESTAMP
}).then(function() {
$scope.meetingname='';
});
}; //addmeeting
});
由于 Firebase 删除了 $firebase 并将 $asObject() 替换为 $firebaseObject,我已经更改了课程给定代码中的控制器。
我看到 Firebase 现在使用 .push() 而不是 .$push()。
我确实看到了问题 29053103,它触及了类似的问题,但最终发布者不得不恢复到旧版本的 AngularFire 和 Firebase 以使其工作,而我不想这样做。
您可以将对象推送到数组,但不能将对象推送到对象。
我希望这应该修复您的应用程序:
...
//I assume that meetings is more then one so that should be $firebaseArray instead of $firebaseObject
$scope.meetings = $firebaseArray(ref);
$scope.addMeeting = function() {
//you can use $add instad of push that will save yoour object to firebase
meetings.$add({
name: $scope.meetingname,
date: Firebase.ServerValue.TIMESTAMP
}).then(function() {
$scope.meetingname='';
});
...
}; //addmeeting
关注 Lynda.com 使用 Angularjs 构建 data-driven 应用程序。 我正在使用 MeetingsController 尝试将数据推送到 Firebase,但出现以下错误:
TypeError: undefined is not a function
at g.$scope.addMeeting (meetings.js:10)
这指向meetings.push行
会议控制器
myApp.controller('MeetingsController', function($scope, $firebaseObject) {
var ref = new Firebase('https://attendanced****.firebaseio.com/meetings');
var meetings = $firebaseObject(ref);
$scope.meetings = meetings;
$scope.addMeeting = function() {
meetings.push({
name: $scope.meetingname,
date: Firebase.ServerValue.TIMESTAMP
}).then(function() {
$scope.meetingname='';
});
}; //addmeeting
});
由于 Firebase 删除了 $firebase 并将 $asObject() 替换为 $firebaseObject,我已经更改了课程给定代码中的控制器。 我看到 Firebase 现在使用 .push() 而不是 .$push()。 我确实看到了问题 29053103,它触及了类似的问题,但最终发布者不得不恢复到旧版本的 AngularFire 和 Firebase 以使其工作,而我不想这样做。
您可以将对象推送到数组,但不能将对象推送到对象。
我希望这应该修复您的应用程序:
...
//I assume that meetings is more then one so that should be $firebaseArray instead of $firebaseObject
$scope.meetings = $firebaseArray(ref);
$scope.addMeeting = function() {
//you can use $add instad of push that will save yoour object to firebase
meetings.$add({
name: $scope.meetingname,
date: Firebase.ServerValue.TIMESTAMP
}).then(function() {
$scope.meetingname='';
});
...
}; //addmeeting