我有一个代码结构,我准备好完美的商店。但是,我需要列出每个商店中的促销活动,每个促销都有一个唯一的ID,所以我想知道如何按照代码列出每个商店内的所有促销活动:
app.js中的
app.factory('Promos', function($firebaseArray){
var ref = new Firebase('https://myapp.firebaseio.com/');
var refPromoArray = $firebaseArray(ref);
return{
getPromos: function() {
if (refPromoArray) {
return $firebaseArray(ref.child('promotions'));
}
}
})
在controller.js
中.controller('PromoListCtrl', function($scope, $state, $stateParams, $ionicLoading, Promos) {
$scope.promoslist = Promos.getPromos();
console.log($scope.promoslist);
})
在promo_list.html
<ion-list ng-if="promoslist.length > 0" can-swipe="true">
<ion-item ng-repeat="promoslist in promo" type="item-text-wrap"
href="#/app/local/{{promo.$id}}">
<img ng-src="{{promo.photo}}" />
{{local.title}}
</ion-item>
</ion-list>
结果
答案 0 :(得分:0)
这样的事情怎么样:
var ref = firebase.database().ref('/promotions/');
ref.on('value', function(snapshot) {
snapshot.forEach(function(data) {
console.log(data.key + " = " + data.val().yourpoerty);
});
实际上快照就是你的阵列。如果您想要某种只有数据的普通数组,您可以创建一个并在数组中手动添加它们。祝好运。
答案 1 :(得分:0)
您好,感谢您的代码对促销进行分组所给出的答案,但现在我还有另一个问题,列出我更改了代码以创建一个包含所有促销的数组,如下所示:
我的代码:
var promoslist = [];
promos = ref.child('promotions');
promos.on('value', function(snapshot) {
snapshot.forEach(function(data) {
promoslist.push(data.val());
});
});
**To list via the code below:**
<ion-list ng-if="promoslist.length > 0">
<Ion-item ng-repeat = "promo in promoslist">
{{Promo}}
</ Ion-item>
</ion-list>
在这种情况下,我有2个商店有4个促销,但代码生成了两个维度的数组,每个项目的两个促销,因此ng-repeat仅运行两次,仅显示结果,如果我将列表更改为索引前:
Promoslist [0]或promoslist 1
<Ion-item ng-repeat = "promo in promoslist[0]">
我想创建一个包含所有促销的一维数组,以便一次性列出所有这些数据?如何创建一个简单的数组?
跟随结果的图像:
答案 2 :(得分:0)
我发现解决方案在ng-repeat中执行循环重复组合,如下代码所示:
<ion-list ng-if="promoslist.length > 0" can-swipe="true" >
<div ng-repeat="promo in promoslist[0]">
<ion-item ng-repeat="promo in promoslist[$index]" type="item-text-wrap" class="item-avatar"
href="#/app/promo/{{promo.idstore}}/{{promo.id}}" ng-if="promo.status==='active'">
<img ng-src="{{promo.image}}"/>
{{promo.title}}
<p>{{promo.store}}</p>
</ion-item>
</div>
</ion-list>