首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用$state.go()

如何使用$state.go()
EN

Stack Overflow用户
提问于 2015-01-20 18:07:43
回答 3查看 76.7K关注 0票数 10

是我的$stateProvider:

代码语言:javascript
复制
$stateProvider
.state('home', {
    url : '/',
    templateUrl : '/admindesktop/templates/main/',
    controller : 'AdminDesktopMainController'
}).state('company', {
    url : '/company',
    templateUrl : '/admindesktop/templates/grid/',
    controller : 'CompanyGridController'
}).state('company.detail', {
    url : '/{id:\d+}', //id is 
    templateUrl : '/admindesktop/templates/company/detail/',
    controller : 'CompanyDetailController'
});

它适用于'company‘状态(我使用ui-sref),但此代码不起作用(从'company’状态调用):

代码语言:javascript
复制
$state.go('.detail', {
    id: $scope.selectedItem.id //selectedItem and id is defined
});

我阅读了StackOverflow的官方文档和答案,但我没有找到解决方案。我不能使用ui-sref,我使用ui-grid,并在从表中选择一行进行编辑后打开新的状态。

我做错了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-20 18:11:58

始终有效的是完整的状态定义:

代码语言:javascript
复制
// instead of this
// $state.go('.detail', {
// use this
$state.go('company.detail', {
    id: $scope.selectedItem.id //selectedItem and id is defined
});

doc there are defined these options中,但它们依赖于当前状态:

to字符串

绝对状态名称或相对状态路径。下面是一些例子:

  • $state.go('contact.detail') -将转到父级state
  • $state.go('^') -将转到父级state
  • $state.go('^.sibling') -将转到兄弟级state
  • $state.go('.child.grandchild') -将转到孙级contact.detail
票数 24
EN

Stack Overflow用户

发布于 2015-01-20 18:35:37

我的错误是在正则表达式中,真的:

代码语言:javascript
复制
.state('company.detail', {
    url : '/{id:\d*}',
    templateUrl : '/admindesktop/templates/company/detail/',
    controller : 'CompanyDetailController'
 })

{id:\d*}有效(整数id)。

票数 2
EN

Stack Overflow用户

发布于 2020-07-21 21:12:20

要加载当前状态,请执行以下操作。看看这个。

代码语言:javascript
复制
$state.go($state.current, {}, {reload: true}); //second parameter is for $stateParams

Reference

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28042598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档