背面的离子嵌套状态不会改变状态

时间:2016-09-13 22:34:43

标签: javascript angularjs ionic-framework

我有父州令,孩子说明表和文章。在'table'离子视图中单击事件时,它会将我重定向到'articles'视图。当我在“文章”视图中按下硬件后退按钮时,url会更改,但状态是相同的(order.article)。 这是我的代码

app.js

.state('order', {
    url: '/order',
    abstract: true,
    templateUrl: 'templates/order/index.html'
  })
  .state('order.tables', {
    url: '/tables',
    views: {
      'order-tables': {
        templateUrl: 'templates/order/tables.html',
        controller: 'OrderCtrl'
      }
    }
  })
  .state('order.article', {
    url: '/article',
    views: {
      'order-article': {
        templateUrl: 'templates/order/article.html',
        controller: 'ArticleCtrl'
      }
    }
  })

顺序/ index.html中

<ion-nav-view name="order-tables"></ion-nav-view>
<ion-nav-view name="order-article"></ion-nav-view>
<ion-nav-view name="order-unpaid"></ion-nav-view>
<ion-nav-view name="order-undone"></ion-nav-view>

顺序/ tables.html

<ion-view>
  <ion-content>
    <div class="bar bar-header bar-light" style="position: relative;">
      <h1 class="title">Nova porudzbina</h1>
    </div>
    <ion-list>
      <a ng-click="chooseItem(table.stoID)">
        <ion-item collection-repeat="table in tables">
          {{table.brojStola}}
        </ion-item>
      </a>
    </ion-list>
  </ion-content>
</ion-view>

此外,当我将离子视图放入选项卡时,状态在后退按钮上更改。

<ion-tabs>
    <ion-tab title="Tables" href="#/order/tables">
        <ion-nav-view name="order-tables"></ion-nav-view>
    </ion-tab>
    <ion-tab title="Articles" href="#/order/articles">
        <ion-nav-view name="order-articles"></ion-nav-view>
    </ion-tab>
</ion-tabs>

我不需要标签,但我不明白为什么在某些情况下它可以正常工作而在其他情况下却没有。

1 个答案:

答案 0 :(得分:0)

ui-view意义上,您将从其父级“订单”状态进入“order.article”状态,并且由于您的应用“订单”状态为“抽象状态”,ui-view无声地失败,保持相同的状态。但是如果ion-tabs你的离子在内部部分使用ui-view并且它正确地制作并将你的标签分配给'order'父级(忽略你的抽象状态)。在这种情况下,当您转换到'order.article'时,其父状态将成为订单,这就是您可以通过后退按钮更改为标签的原因