在$ state.go中使用可选参数

时间:2018-04-27 06:03:14

标签: angularjs angular-ui-router

我有一个AngularJS和ui-router的网站。我已经定义了两个状态如下:

.state('home', {
       url: '/home/{id}',
       ...
})
.state('edit', {
       url: '/edit/{id}?connected&ifIni&redirectToRun',
       ...

在控制器中,我可以使用$state.go('home', { id: id })导航到home页面。

我的问题是,我是否可以使用$state.go('edit', { id: id, connected: connected, ifIni: ifIni, redirectToRun: redirectToRun })导航到edit页面。

1 个答案:

答案 0 :(得分:0)

您可以通过两种不同的方式执行此操作,一种方法是在params中添加routeConfiguration,另一种方法是将query parameters添加到URL

添加参数:

路线配置:

$stateProvider.state('edit', {
  templateUrl:'edit.html',
  controller:'editController',
  params: {
    'id': ''
    'referer': '', 
    'connected': '', 
    'ifIni': '',
    'redirectToRun': ''
  }
});

重定向:

$state.go('edit', { id: id, connected: connected, ifIni: ifIni, redirectToRun: redirectToRun })

如果您想使用查询参数:

路线配置:

$stateProvider.state('edit', {
  url: '/edit/{id}?connected&ifIni&redirectToRun',
  templateUrl:'edit.html',
  controller:'editController'
});

重定向:

$state.go('edit', { id: id, connected: connected, ifIni: ifIni, redirectToRun: redirectToRun })

Here is the Documentation