从ng-repeat中的对象获取项目

时间:2016-01-17 07:42:40

标签: angularjs ionic-framework angularjs-ng-repeat javascript-objects

我的观点如下: -

<ion-tabs class="tabs-positive tabs-icon-top">
    <ion-tab ng-repeat="tab in tabs"  title="{{tab.name}}" icon-on="ion-ios-filing" icon-off="ion-ios-filing-outline">
        <ion-view style=" ">
            <ion-content class="has-header" overflow-scroll="true" padding="'true'">
                <ion-refresher pulling-text="Pull to refresh..."
                               on-refresh="doRefresh(tab.type)">
                </ion-refresher>
                <ion-list style="">
                    <ion-item style="" class="total-center item-divider" ng-repeat="order in orderList['tab.type']">

                </ion-item>
            </ion-list>
        </ion-content>
    </ion-view>
</ion-tab>

我的控制器如下所示: -

$scope.tabs = [
  { id: "1", type: "PENDING" ,name:"Pending Orders"}
, { id: "2", type: "CONFIRM", name: "Confirmed Orders" }
, { id: "3", type: "CANCEL", name: "Cancelled Orders" }
, { id: "4", type: "REJECTED", name: "Rejected Orders" }
];

$scope.orderList = {
    "PENDING": [1,2,3,4,6,7,8,9,10]
    , "CONFIRM": [1, 2, 3, 4, 6, 7, 8, 9, 10]
    , "CANCEL": [1, 2, 3, 4, 6, 7, 8, 9, 10]
    , "REJECTED": [1,2]
}

我可以循环选项卡并获取标签。但是我无法遍历订单列表,因此订单类型与正在考虑的当前选项卡类型相同。

你们对我如何继续进行了解。

2 个答案:

答案 0 :(得分:0)

您要在类型周围添加引号。

尝试更换:

<ion-item style="" class="total-center item-divider" ng-repeat="order in orderList['tab.type']">

<ion-item style="" class="total-center item-divider" ng-repeat="order in orderList[tab.type]">

请注意'tab.type'更改为tab.type

答案 1 :(得分:0)

order in orderList['tab.type']

如果你使用'tab.type'angle将把整个字符串作为属性。它将搜索'tab.type'在orderList.thats中可用而不是你想要的

所以如果你想在orderList中添加标签的类型,你需要使用tab.type而不是'tab.type'来给出标签类型的值

使用以下

order in orderList[tab.type]