ui-router urls中的查询字符串参数?

kba*_*man 29 angularjs angular-ui-router

我有这些状态:

.state('quotes', {
  abstract: true,
  url: '/quotes'
})
.state('quotes.new', {
  url: '/new',
  templateUrl: 'views/quote-form.html',
  controller: 'QuoteFormCtrl'
})
.state('quotes.new.customer', {
  url: '?customer',
  templateUrl: 'views/quote-form.html',
  controller: 'QuoteFormCtrl'
})
Run Code Online (Sandbox Code Playgroud)

当我点击URL时/quotes/new?customer=123,客户查询字符串被剥离,我就处于该quotes.new状态.

是什么让最有道理的,我只是添加params: ['customer']quotes.new状态定义,但给我一个错误抱怨我同时指定URL,而params.

任何我想要做的例子都会非常感激.

cal*_*oyd 46

您应该修改url字符串属性以包含您的customer查询参数,如下所示:

.state('quotes.new', {
  url: '/new?customer',
  templateUrl: 'views/quote-form.html',
  controller: 'QuoteFormCtrl'
});
Run Code Online (Sandbox Code Playgroud)

可以通过以下方式分隔多个参数&:

.state('mystate', {
  url: '/myState?paramOne&paramTwo
  //...
});
Run Code Online (Sandbox Code Playgroud)

查看文档

  • 如何使用`$ state.go`?`$ state.go('quotes.new',{customer:'dave'})`? (9认同)
  • 如何在查询字符串中使用多个参数?`url:'/ new?customer&format'`? (5认同)