我嘗試在例如但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