我在从列表中选择一些项目后尝试导航到选项卡列表。 当我试图运行我的代码时,我得到的不能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>
不知道可能是什么问题,但希望你能帮忙!
谢谢!
答案 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}}