如何解析和使用从父页面传递的json对象?

时间:2015-08-28 06:02:46

标签: javascript html json angularjs

如果已经回答,我会事先道歉。我现在用Google搜索了几个小时,但我仍然没有发现任何似乎能回答我确切问题的内容。

这是我的代码:

<ion-content>
    <div class="list">
        <div style="padding: 0px; margin: 0px;" class="item">
            <div class="row"
                 ng-repeat="x in orders|orderBy:'order_id'| filter:{ paid: '0' } ">
                <div class="col left">
                    {{x.order_id}}
                </div>                                                  
                <div class="col left">
                    <a ng-href="#/tab/orderdetails?detail={{x.detail}}">订单详情</a>
                </div>
            </div>
        </div>
    </div>                        
</ion-content>

x.detail是我要传递给新打开的页面“orderdetails.html”的json对象:

<script id="templates/orderdetails.html" type="text/ng-template">
    <ion-view view-title="OrderDetails">
        <ion-content class="padding">

            <p>Here I want to display order details...</p>

            var obj = this.href.split('?')[1];
            console.log(obj);

            <p>
                <a class="button icon ion-home" href="#/tab/home"> Home</a>
            </p>
        </ion-content>
    </ion-view>
</script>

app.js:

.state('tabs.orderdetails', {
      url: "/orderdetails",
      views: {
        'home-tab': {
          templateUrl: "templates/orderdetails.html"
        }
      }
    })

我想知道如何在“orderdetails.html”中解析和使用传递的对象。感谢。

1 个答案:

答案 0 :(得分:0)

您可以将数据作为状态参数传递,如下所示。

<ion-content>
                    <div class="list">
                        <div style="padding: 0px; margin: 0px;" class="item">
                            <div class="row"
                                 ng-repeat="x in orders|orderBy:'order_id'| filter:{ paid: '0' } ">
                                <div class="col left">
                                    {{x.order_id}}
                                </div>                                                  <div class="col left">
                                    <a ng-href="#/tab/orderdetails/{{x.detail}}">订单详情</a>
                                </div>
                             </div>
                        </div>
                    </div>                        
           </ion-content>

并在下面的状态参数中接收它。

.state('tabs.orderdetails', {
      url: "/orderdetails/:whateverdata",
      views: {
        'home-tab': {
          templateUrl: "templates/orderdetails.html"
        }
      }
    })

您将获得控制器中orderdetails选项卡的数据$ stateParams.whateverdata