【问题标题】: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 之间切换,一切正常。

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

【问题讨论】:

    标签: angularjs ionic-framework angular-ui-router ionic


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-10
      • 2014-12-04
      • 1970-01-01
      • 2016-04-30
      • 1970-01-01
      • 1970-01-01
      • 2017-10-24
      • 2021-10-06
      相关资源
      最近更新 更多