0

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

这是我的代码:

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

谢谢你的帮助。

4

1 回答 1

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);
}
于 2013-09-13T17:16:11.710 回答