Как разобрать и использовать объект json, переданный с родительской страницы?

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?detail={{x.detail}}">订单详情</a>
                </div>
            </div>
        </div>
    </div>                        
</ion-content>

x.detail - это объект json, который я хочу передать на вновь открытую страницу "orderdetails.html":

<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". Благодарю.

  • 0
    Используете ui-router?
  • 0
    @skubski, спасибо за ваши проблемы. Я новичок в angularjs, не могли бы вы показать мне, как его использовать?
Показать ещё 5 комментариев

1 ответ

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

  • 0
    Обновите свой ответ, указав, как использовать ui-sref и как получить данные в контроллере, используя $ stateParams для полного ответа.
  • 0
    @skubski, как я уже говорил, все, что мы передаем в качестве параметров состояния в href, мы должны указать это в url состояния (в данном случае независимо от того, является ли переменная), теперь контроллер, который работает для tabs.orderdetails, вы можете просто использовать $ stateParams.whwhatdata. ,
Показать ещё 10 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню