gpt4 book ai didi

javascript - 连接 firebase 阵列?

转载 作者:行者123 更新时间:2023-11-27 22:50:14 31 4
gpt4 key购买 nike

我正在 Angular 中创建一个函数,我想抓取所有博客文章,其类别与单击的按钮相匹配,我的 Firebase 中有 3 个不同的字段,标题为类别 1、类别 2 和类别 3。例如,当用户单击新闻通讯时,我想查看包含类别新闻通讯的所有帖子,无论它存储在类别 1、类别 2 还是类别 3 中。我以为我可以concat()它们。但它不起作用。这是我正在尝试的函数。

$scope.sortByNewsletter = function() {
var postsNumNews1 = $firebaseArray(ref.child('pPosts').orderByChild("category1").equalTo("Newsletters"));
var postsNumNews2 = $firebaseArray(ref.child('pPosts').orderByChild("category2").equalTo("Newsletters"));
var postsNumNews3 = $firebaseArray(ref.child('pPosts').orderByChild("category3").equalTo("Newsletters"));
console.log(postsNumNews1);
console.log(postsNumNews2);
console.log(postsNumNews3);
var $scope.postsNum = postsNumNews1.concat(postsNumNews2,postsNumNews3);
console.log($scope.postsNum);
}

然后我在 postsNum 上进行 ng-repeating 以将它们显示到页面上,如下所示。

<div class="blog-item" dir-paginate="post in postsNum | orderBy: 'postedDate': true | filter:searchPosts | itemsPerPage: 1">
<img class="img-responsive img-rounded" src="{{ post.imageOne }}" width="100%" alt="" />
<div class="blog-content">
<h3><strong>{{ post.title }}</strong></h3>
<h4><strong>{{ post.subTitle }}</strong></h4>
<div class="entry-meta">
<span><i class="fa fa-user"></i> {{ post.postedBy }}</span>
<span><i class="fa fa-folder"></i> {{ post.category1 }} {{ post.category2 }} {{ post.category3 }}</span>
<span><i class="fa fa-calendar"></i> {{ post.datePosted }}</span>
</div>
<br>
<p>{{ post.paragraph1 }}</p>
<p>{{ post.paragraph2 }}</p>
<p>{{ post.paragraph3 }}</p>
</div>
</div>

我还认为我可以将多个“类别”传递到我的 orderByChild() 中,但这也不起作用。

最佳答案

您正在尝试连接 Firebase 同步数组,这可能就是它不起作用的原因。您需要做的是将这些元素插入一个未绑定(bind)到 Firebase 中的值的数组中。另外,你说“我的 firebase 中有 3 个不同的字段”,你指的是位于 root/pPosts/下的帖子吗?查询时理解数据结构很有帮助,因此下面通知我通过将其指向 '/pPosts' 创建了引用:

$scope.sortByNewsletter = function() {
$scope.posts = [];
var ref = new Firebase('https://whatever.firebase.com/pPosts');
ref.orderByChild('category1').on('value', function(snapshot){
posts = posts.concat(snapshot);
});
ref.orderByChild('category2').on('value', function(snapshot){
posts = posts.concat(snapshot);
});
ref.orderByChild('category3').on('value', function(snapshot){
posts = posts.concat(snapshot);
});

console.log($scope.postsNum);
}

关于javascript - 连接 firebase 阵列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38112260/

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