使用选项卡导航无效

时间:2015-04-11 15:51:49

标签: angularjs tabs ionic

我在从列表中选择一些项目后尝试导航到选项卡列表。 当我试图运行我的代码时,我得到的不能GET / tab / 1337 我从列表中选择的内容如下:

<div class="list">
        <a ng-repeat="item in items"
           href="/tab/{{item.queId}}"
           class="item item-thumbnail-left">

我的app.js看起来像

 .state('tabs.details', {
    url: "/details/:itemqueId",
    views: {
      'details-tab': {
        templateUrl: "templates/details.html",
         controller: 'FriendDetailCtrl'
      }
    }
  })

   .state('tabs', {
        url: "/tab/:itemqueId",
        abstract: true,
        templateUrl: "templates/tabs.html"
    });

我的tabs.html看起来像:

  <ion-view>
 <ion-tabs class="tabs-icon-top">


        <!-- Pets Tab -->
        <ion-tab title="Dashboard" icon="icon ion-home" href="#/tab/dash">
          <ion-nav-view name="tab-dash"></ion-nav-view>
        </ion-tab>


        <!-- Adopt Tab -->
        <ion-tab title="details" icon="icon ion-heart" href="#/tab/details">
          <ion-nav-view name="tab-details"></ion-nav-view>
        </ion-tab>


      </ion-tabs>
       </ion-view>

不知道可能是什么问题,但希望你能帮忙!

谢谢!

1 个答案:

答案 0 :(得分:0)

删除abstract: true状态定义中tabs的行 - 无法激活抽象状态。请参阅ui-router docs

<强>更新

点击/tab/1337时,您实际期望发生什么?

可用标签

首先,看一下当前的状态配置,你只有一条有效的路由,因为tab状态是抽象的:

/tab/:itemqueId/details/:itemqueId

了解tab.details tab如何追加它tabs,因为它是/tab/1337的嵌套状态。因此/tab/:itemqueId/details不是有效路线。

您可能正在寻找的是tab.details - 因此将url: "/details"的网址更改为href

链接

在插入角度范围内的变量时,不应使用ng-href属性,而应始终使用ui-sref指令。

在这种情况下,我甚至建议使用ui-router的<a ui-sref="tab.details({ itemqueId: item.queId })"> 指令。这样,您可以创建具有状态定义的URL,并检查您的定义是否有效。

tabs.html

tabs.dash中,如果tabs.details是与<!-- Pets Tab --> <ion-tab title="Dashboard" icon="icon ion-home" ui-sref="^.dash"> <ion-nav-view name="tab-dash"></ion-nav-view> </ion-tab> <!-- Adopt Tab --> <ion-tab title="details" icon="icon ion-heart" href="^.details"> <ion-nav-view name="tab-details"></ion-nav-view> </ion-tab> 类似的有效状态,则您的链接应该看起来像这样指向兄弟状态:

{{1}}