无法恢复uiRouter和孩子:/ id IONIC app

时间:2015-05-11 10:07:58

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

我的离子应用程序中的UI-Router存在问题,我不明白如何使用$state.go(state)

转到id定义的子状态

这是我的州提供者:

$stateProvider
    .state('tab', {
    url: "/tab",
    abstract: true,
    templateUrl: "templates/tabs.html"
})
    .state('tab.home', {
    url: '/home',
    views: {
        'tab-home': {
            templateUrl: 'templates/tab-home.html',
            controller: 'HomeCtrl'
        }
    }
})
    .state('tab.chats', {
    cache: false,
    url: '/chats',
    views: {
        'tab-chats': {
            templateUrl: 'templates/tab-chats.html',
            controller: 'ChatsCtrl'
        }
    }
})
    .state('tab.chat-detail', {
    url: '/chats/:chatId',
    views: {
        'tab-chats': {
            templateUrl: 'templates/chat-detail.html',
            controller: 'ChatDetailCtrl'
        }
    }
})

来自homeCtrl我想进行聊天详情。首先我使用$location(tab/chats/123)但有时会给我带来问题..

如何使用$state.go()传递 id

1 个答案:

答案 0 :(得分:2)

在文档$state.go

中很容易找到
go(to, params, options)

所以,我们可以这样做:

$state.go('tab.chat-detail', {chatId : 123 });

关于第二个参数params

的文档中的小引用
  

将发送到州的参数地图将填充$stateParams。任何未指定的参数都将从当前定义的参数继承。例如,这允许进入共享父状态中指定的参数的兄弟状态。参数继承仅在共同的祖先状态之间起作用,即。过渡到兄弟姐妹会得到所有父母的参数,过渡到孩子将获得所有当前参数等。