Ionic Framework中的嵌套选项卡栏

Adr*_*one 8 angularjs ionic-framework

在Ionic框架中有没有一种方法可以像这样使用嵌套的标签栏:

在此输入图像描述

我在Codepen中尝试过,但它并没有真正起作用:

Codepen上的示例

.state('tabs.about', {
    url: "/about",
    abstract: true,
    views: {
        'about-tab': {
            templateUrl: "templates/about.html"
        }
    }
})

.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"
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

有人知道这样做的正确方法吗?

谢谢

LTr*_*oya 6

我尝试在codePen上举例,但是我没有像我预期的那样工作.但我在本地项目中解决了你的问题.确保您拥有离子的最新版本,或者您可以使用以下版本进行更新:

npm install -g ionic
Run Code Online (Sandbox Code Playgroud)

你快到了.您需要将抽象设置为这样的视图:

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");

}); 
Run Code Online (Sandbox Code Playgroud)

并使用您评论过的代码:

<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>
Run Code Online (Sandbox Code Playgroud)

我评论了之前的标签代码,特别是:

<!--<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>-->
Run Code Online (Sandbox Code Playgroud)

其余的HTML代码是相同的

我的离子版本是:1.3.19

我希望它对你有所帮助