我的离子应用程序中的UI-Router存在问题,我不明白如何使用$state.go(state)
这是我的州提供者:
$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 ?
答案 0 :(得分:2)
在文档$state.go
中很容易找到go(to, params, options)
所以,我们可以这样做:
$state.go('tab.chat-detail', {chatId : 123 });
关于第二个参数params
将发送到州的参数地图将填充
$stateParams
。任何未指定的参数都将从当前定义的参数继承。例如,这允许进入共享父状态中指定的参数的兄弟状态。参数继承仅在共同的祖先状态之间起作用,即。过渡到兄弟姐妹会得到所有父母的参数,过渡到孩子将获得所有当前参数等。