我已经阅读了文档,我发现有一种更新方法。但是我没有运气。我得到“无法调用未定义的方法'更新'”。然而,我可以将更新更改为“添加”,并且该功能有效。我做错了什么,我只是不知道是什么..
这是我的代码:
(function() {
'use strict';
angular.module('myApp').controller('MainCtrl',['$scope','angularFireCollection', function($scope, angularFireCollection) {
var url = 'https://myapp.firebaseio.com/genre';
$scope.genres = angularFireCollection(new Firebase(url), $scope, 'genres');
$scope.vote = function(){
this.artist.votes=this.artist.votes + 1;
$scope.genres.update(this); // this update is not working.
}
}]);
}).call(this);
感谢您的帮助。
答案 0 :(得分:2)
函数上下文中的this
是什么?您应该使用集合中的项或ID来调用$ scope.genres.update。例如,这有效:
$scope.genres = angularFireCollection(new Firebase(url), $scope, 'genres');
$scope.vote = function() {
var item = $scope.genres[0];
item.votes++;
$scope.genres.update(item);
}