【问题标题】:Ionic ui-router离子用户界面路由器
【发布时间】:2014-10-10 17:26:02
【问题描述】:

我在使用带有离子标签的 ui-router 时遇到问题。

当我尝试从单独的选项卡转换到嵌套在选项卡中的状态时,它似乎在 stateProvider 中解析它,就输入解析语句而言,但从未真正进入该状态。

适用的状态在这里:

   .state('index', {
      abstract: true,
      templateUrl:'app/main.html',
      controller: 'MainCtrl'
    })
    .state('index.got', {
        url: "/got",
        views: {
            'got-tab': {
                templateUrl: "app/got/main.html",
                controller: 'GotCtrl'
            }
        }
    })
    .state('index.got.listing', {
        url: "/listings/:id",
        templateUrl: "app/got/listing/listing.html",
        controller: "GotListingCtrl",
        resolve: {
            listing: function(Listing, $stateParams) {
                return Listing.get({id: $stateParams.id});
            }
        },
    })
    .state('index.feed', {
      url: "/feed",
      views: {
        'feed-tab': {
             templateUrl: "app/home/feed/feed.html",
             controller: 'FeedCtrl',
             resolve: {
                listings: function(CurrentUser) {
                    return CurrentUser.feed()
                }
            }
        }
      }

还有标签

<ion-tabs class="tabs-striped tabs-color-positive tabs-icon-top">
    <ion-tab title="Got" ui-sref="index.got.listings">
        <ion-nav-view name="got-tab"></ion-nav-view>
    </ion-tab>
    <ion-tab title="Home" ui-sref="index.feed">
        <ion-nav-view name="feed-tab"></ion-nav-view>
    </ion-tab>
</ion-tabs>

我对转移状态的调用是

    var index = $state.get('index')
    $state.transitionTo('.got.listing', {id: '1'}, {relative: index})

我认为问题是因为我正在处理嵌套名称视图,但任何帮助将不胜感激,谢谢

【问题讨论】:

  • 对于任何感兴趣的人,在路由到我想要的最终状态之前,我最终预先路由到了指定的选项卡(用户不可见)。我确信有更好的方法可以做到这一点,但这仍然有效,只是多做一点工作。

标签: angular-ui-router ionic-framework


【解决方案1】:

你的解析应该只是返回当前状态的参数信息,所以对于列表选项卡:

.state('index.got.listing', {
    url: '/listings/:id,
    templateUrl: '/app/got/listing/listing.html',
    controller: 'GotListingCtrl',
    resolve: {
        listing: ['$stateParams', function($stateParams){
            return $stateParams.id;
        }]
    }
})

【讨论】:

  • 感谢您的回复...但打破过渡的并不是决心。实际上有很多时候你会像我上面那样使用解析......如果你在进行视图切换之前确实需要对象来执行一些逻辑或其他操作。我认为这只是旧版本 ionic 的问题,因为它现在似乎已修复。
猜你喜欢
  • 2017-06-07
  • 1970-01-01
  • 1970-01-01
  • 2021-03-16
  • 1970-01-01
  • 2015-01-28
  • 1970-01-01
  • 2020-02-25
  • 1970-01-01
相关资源
最近更新 更多