Angularjs 如何使用ionic infinite scroll延迟加载Firebase数据
我在用户配置文件中有一组数据,其中保存了他们喜欢的所有帖子的UID。我正在使用数据快照在用户配置文件中显示这些图像,但我希望在用户滚动时加载它,或者使用ionic infinite scroll加载更多项目 我试着拍了两张重复的快照。第一个在页面加载时初始化提要,然后我希望使用ionic infinite scroller加载第二个提要 但它不起作用 有人知道更好的方法吗 service.js controller.jsAngularjs 如何使用ionic infinite scroll延迟加载Firebase数据,angularjs,ionic-framework,firebase,infinite-scroll,snapshot,Angularjs,Ionic Framework,Firebase,Infinite Scroll,Snapshot,我在用户配置文件中有一组数据,其中保存了他们喜欢的所有帖子的UID。我正在使用数据快照在用户配置文件中显示这些图像,但我希望在用户滚动时加载它,或者使用ionic infinite scroll加载更多项目 我试着拍了两张重复的快照。第一个在页面加载时初始化提要,然后我希望使用ionic infinite scroller加载第二个提要 但它不起作用 有人知道更好的方法吗 service.js controller.js 看看@FrankvanPuffelen,我目前正在使用它作为新闻提要,但如
看看@FrankvanPuffelen,我目前正在使用它作为新闻提要,但如果我不提供Firebase参考,我想不出该怎么做。图像的所有id都是用户配置文件中的对象,然后在images文件夹中调用对它们的引用。我怎样才能通过你提供的链接实现呢?我还没有弄明白这一点@你对我如何做到这一点有什么想法吗。我想延迟对firebase引用的查询
getWardrobeFeed: function(){
var defered = $q.defer();
var user = User.getLoggedInUser();
var wardrobeKeyRef = new Firebase(FIREBASE_URL + '/userProfile/' + user.uid + '/wardrobe');
wardrobeKeyRef.orderByKey().limitToLast(2).on('child_added', function (snap) {
var imageId = snap.key();
userImageRef.child(imageId).on('value', function (snap) {
$timeout(function () {
if (snap.val() === null) {
delete userWardrobeFeed[imageId];
} else {
userWardrobeFeed[imageId] = snap.val();
}
});
});
});
wardrobeKeyRef.orderByKey().limitToLast(2).on('child_removed', function (snap) {
var imageId = snap.key();
$timeout(function () {
delete userWardrobeFeed[imageId];
});
});
defered.resolve(userWardrobeFeed);
return defered.promise;
},
getWardrobeItems: function(){
var defered = $q.defer();
var user = User.getLoggedInUser();
var wardrobeKeyRef = new Firebase(FIREBASE_URL + '/userProfile/' + user.uid + '/wardrobe');
wardrobeKeyRef.orderByKey().limitToFirst(2).on('child_added', function (snap) {
var imageId = snap.key();
userImageRef.child(imageId).on('value', function (snap) {
$timeout(function () {
if (snap.val() === null) {
delete userWardrobe[imageId];
} else {
userWardrobe[imageId] = snap.val();
}
});
});
});
wardrobeKeyRef.orderByKey().on('child_removed', function (snap) {
var imageId = snap.key();
$timeout(function () {
delete userWardrobe[imageId];
});
});
defered.resolve(userWardrobe);
return defered.promise;
},
$scope.userWardrobe = [];
Service.getWardrobeFeed().then(function(items){
$scope.userWardrobe = items;
});
$scope.loadMore = function() {
Service.getWardrobeItems().then(function(items){
$scope.userWardrobe = $scope.userWardrobe.concat(items);
$scope.$broadcast('scroll.infiniteScrollComplete');
});
};