离子角多重嵌套和抽象状态

Posted

技术标签:

【中文标题】离子角多重嵌套和抽象状态【英文标题】:ionic-angular multiple nested and abstract states 【发布时间】:2015-10-15 01:05:39 【问题描述】:

我一直在开发一个需要 2 个带有嵌套状态的抽象状态的应用程序,下面是示例配置

$stateProvider
 .state('app', 
  url: "/app",
  abstract: true,
  templateUrl: "templates/menu.html",
  controller: "AppController"
 )
 .state('app.screenList', 
  url: "/app/screenList",
  views: 
   'menuContent': 
   templateUrl: "templates/screenList.html",
   controller: "ScreenListController"
   
  
 )
 .state('app.screen1', 
  url: "/app/screen1",
  views: 
   'menuContent': 
   templateUrl: "templates/screen1.html",
   controller: "Screen1Controller"
   
  
 )
 .state('app.subapp', 
  url: "/app/subapp",
  abstract: true,
  views: 
   'menuContent': 
   templateUrl: "templates/subapp.html",
   controller: "SubAppController"
   
  
 )
.state('app.subapp.screen1', 
  url: "/app/subapp/screen1",
  views: 
   'subappContent': 
   templateUrl: "templates/subappscreen1.html",
   controller: "SubAppScreen1Controller"
   
  
 )

screenList 状态显示可供选择的屏幕列表。当跟随导航发生时,一切正常

screenList > screen1按返回键,然后按subapp.screen1

在这个阶段按回是有效的。

有趣的是,当我尝试执行以下导航时,后面停止响应并且没有任何反应。

screenList > screen1按返回键再按subapp.screen1按返回键再按subapp.screen1(此时按返回键无效,连应用程序都不会退出。)

我完全不知道为什么会这样,我得出的唯一结论是,如果我连续尝试进入subapp.screen1,就会出现问题。如果我一直在subapp.screen1screen1 之间切换,一切正常。

我希望无论状态如何切换,后退键都应该响应。

【问题讨论】:

【参考方案1】:

基于this post,我终于成功了。

tabs.html 我声明了一个这样的标签:

  <ion-tab title="ServOOps Mobile" icon="ion-person-stalker" ui-sref="app.tabs.external-index">
<ion-nav-view name="tab-servicos"></ion-nav-view>

app.js,我这样写:

.state('app', 
    url: '/app',
    abstract: true,
    templateUrl: 'templates/menu.html',
    controller: 'AppCtrl'
)

  .state('app.tabs', 
  url: "/tabs",
  views: 
    'menuContent': 
      templateUrl: "templates/tabs.html"
    
  
)

.state('app.tabs.external-index', 
    url: '/external-index',
    views: 
        'menuContent': 
            templateUrl: 'templates/external-index.html',
            controller: 'ExternalIndexCtrl'
        ,
        'tab-servicos': 
          templateUrl: 'templates/external-index.html',
          controller: 'ExternalIndexCtrl'
        
    
)

这很好用。现在我在这个页面上有了我的侧边菜单和我的标签。

你必须为其他标签重播这个。

请记住,在此我将外部索引链接到选项卡,所以现在,指向页面的链接将是 #/app/tabs/external-index.html

【讨论】:

以上是关于离子角多重嵌套和抽象状态的主要内容,如果未能解决你的问题,请参考以下文章

在java中如何跳出当前的多重嵌套循环

关于T-SQL的多重IF-ELSE嵌套

角反应嵌套形式

Python 避免字典和元组的多重嵌套

switch运用多重if和嵌套if的使用条件

在Java中,如何跳出当前的多重嵌套循环?