使用angularFireCollection而不是angularFire时如何更新?

时间:2013-09-13 00:58:39

标签: angularjs firebase angularfire

我已经阅读了文档,我发现有一种更新方法。但是我没有运气。我得到“无法调用未定义的方法'更新'”。然而,我可以将更新更改为“添加”,并且该功能有效。我做错了什么,我只是不知道是什么..

这是我的代码:

(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);

感谢您的帮助。

1 个答案:

答案 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);
}