我尝试在例如但codePen如我所料我不起作用。但我在一个本地项目中解决了你的问题。确保你有最新版本的离子或你可以更新它:
npm install -g ionic
你几乎在那里。你需要一个抽象设置成这样的观点:
angular.module('ionicApp', ['ionic'])
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('tabs', {
url: "/tab",
abstract: true,
templateUrl: "templates/tabs.html"
})
.state('tabs.home', {
url: "/home",
views: {
'home-tab': {
templateUrl: "templates/home.html",
}
}
})
.state('tabs.about', {
url: "/about",
views: {
'about-tab': {
templateUrl: "templates/about.html",
abstract: true
}
}
})
.state('tabs.about.page1', {
url: "/page1",
views: {
'about-page1': {
templateUrl: "templates/about-page1.html"
}
}
})
.state('tabs.about.page2', {
url: "/page2",
views: {
'about-page2': {
templateUrl: "templates/about-page2.html"
}
}
});
$urlRouterProvider.otherwise("/tab/home");
});
并使用你曾评论代码:
<ion-tabs class="tabs-striped tabs-top tabs-background-stable">
<ion-tab title="Page 1" ui-sref="tabs.about.page1">
<ion-nav-view name="about-page1"></ion-nav-view>
</ion-tab>
<ion-tab title="Page 2" ui-sref="tabs.about.page2">
<ion-nav-view name="about-page2"></ion-nav-view>
</ion-tab>
</ion-tabs>
我评论前一个标签代码,特别是这样的:
<!--<div class="tabs-striped tabs-top tabs-background-stable">
<div class="tabs">
<a class="tab-item" ui-sref="tabs.about.page1">
Page 1
</a>
<a class="tab-item" ui-sref="tabs.about.page2">
Page 2
</a>
</div>
</div>-->
其余的HTML代码是一样的
我的离子版本是:1.3.19
我希望能帮到你
谢谢哥们。拯救了我的一天!我也在遵循OPs方法。我有一个问题。如何防止在直接访问URL时回退:http:// localhost:8100 /#/ tabs/7/live/messages?我可以单独问一下吗? – Ravimallya 2018-01-26 05:37:12
我不确定要理解你的问题。但是你可以覆盖后退按钮的行为。 https://ionicframework.com/docs/v1/api/directive/ionNavBackButton/ 您在视图中添加标记并将onClick函数添加到您的控制器。这将始终触发该功能,而不是正常的后退按钮行为。 希望它有帮助! – LTroya 2018-01-27 17:16:54