gpt4 book ai didi

javascript - 附加到 Firebase ref AngularFire

转载 作者:行者123 更新时间:2023-11-29 22:06:14 26 4
gpt4 key购买 nike

假设我正在构建一个无限滚动的文章。

我的文章 ID 是通过 URL 传递的:

var id = $stateParams.id;

我想 startAt 我的 Firebase 集合中的那个索引并且 limit 10:

var limit = 10;
var articlesRef = new Firebase("https://example.firebaseio.com/articles").startAt(null, id).limit(limit);
$scope.articles = $firebase(articlesRef);

在由 inifite-scroll 指令触发的 loadMore() 函数中,我想追加更多内容:

  $scope.loadMore = function(){
var limit = limit + 10;
//Obviously this isn't going to work.
$scope.articles = $firebase(articlesRef.startAt(null, id).limit(limit));
}
  • 我们不能连接,因为返回的集合是一个对象。
  • 我们不能多次使用 loaded 函数,所以我们不能在回调中concat value

如何附加到现有结果集,使其看起来不像articlesreloads”?

最佳答案

这有点棘手 - 附加到新结果集的最佳方法是将 $firebase 返回的内容与 View 中显示的内容分开。

在这种情况下,我们假设显示的是 $scope.articles。主要的事情是将 $firebase() 的返回值分配给 $scope.articles 以外的东西 并依赖于 'changed' 事件而不是 'loaded'。然后,只要需要加载新集,只需复制内容即可。

var articlesRef = new Firebase("https://example.firebaseio.com/articles").startAt(null, id).limit(limit);
$scope.articles = {};
var obj = $firebase(articlesRef);
obj.$on('change').function() {
// For each property in obj, set $scope.articles.
};

关于javascript - 附加到 Firebase ref AngularFire,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20829014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com