动态标签导航

时间:2017-01-24 14:34:36

标签: angularjs ionic-framework

我开发了一种基于Ionic的混合应用程序。 现在我们有一个新的客户端需要相同的功能,但由于我不能向他推销相同的应用程序,我需要更改我的应用程序的L& F.

根据服务的响应,状态会被加载。它工作正常,但我的团队已经决定从侧面菜单更改为标签导航,这就是问题所在。

我们很乐意将状态定义和html保留为现在,因此,在未来,如果有新客户,我们可以参数化应用程序,而无需更改HTML,只需要一些javascript标记。< / p>

无论如何,这是动态的定义:

.state('menu.generico', {
                url: "/trans/:capp/:cmod/:ctr",
                resolve: { 
                     someResolve: function($stateParams,$ionicHistory,$q, CashModals){
                },
                views: {
                    'menu-generico': {
                        templateProvider: function(){
                        }
                     }
                 }
            });

此外,我有一个负责创建菜单的指令。 如果我想要侧边栏菜单或标签导航,我会告诉它。 无论如何,它返回的标签结构如下:

<cargar-menu-mobile>
    <ion-nav-bar class="bar-positive nav-bar-container" nav-bar-transition="ios" nav-bar-direction="back" nav-swipe="">
        <ion-nav-back-button class="hide" data-ng-click="myGoBack()"></ion-nav-back-button>
        <ion-nav-buttons side="right" class="hide"></ion-nav-buttons>
        <ion-tabs class="tabs-positive tabs-icon-top">
            <ion-tab title="Posición" icon="ion-card" ui-sref="menu.generico" ng-click="tabChanged(1)">
                <ion-nav-view name="menu-generico" cache-view="false"></ion-nav-view>
            </ion-tab>
        </ion-tabs>
    </ion-nav-bar>
</cargar-menu-mobile>

所以,当我开始浏览应用程序时,导航会丢失它的线程。通过这个,我的意思是,如果我在选项卡的视图中导航一段时间,然后按第一个选项卡(menu-generico),最后我将后退按钮激活,但我不希望它被激活,因为选项卡是根状态。

有什么想法吗? 谢谢!

2 个答案:

答案 0 :(得分:0)

如果你不想要后退按钮,

<ion-nav-back-button class="hide" data-ng-click="myGoBack()"></ion-nav-back-button>

删除此行。 Ionic为选项卡视图维护单独的历史记录。通过以下主题了解更多信息,

https://forum.ionicframework.com/t/keep-main-header-bar-disable-back-button-on/19868

答案 1 :(得分:0)

我最后将这些行添加到我的指令的tabChanged函数中:

$ionicHistory.nextViewOptions({
      historyRoot: true
});

所以,这样,每个标签都是根。

现在我只需要识别每个州所属的标签,以便激活它的相应标签。

希望有人发现它有用。