我有这些状态:
.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'
})
当我点击网址/quotes/new?customer=123
时,客户查询字符串被剥离,我处于quotes.new
状态。
对我来说最有意义的只是在params: ['customer']
状态定义中添加quotes.new
,但这会让我错误地抱怨我同时指定了url和params。
我很欣赏任何我想要做的例子。
答案 0 :(得分:46)
您应该修改url
字符串属性以包含您的customer
查询参数,如下所示:
.state('quotes.new', {
url: '/new?customer',
templateUrl: 'views/quote-form.html',
controller: 'QuoteFormCtrl'
});
可以使用&
:
.state('mystate', {
url: '/myState?paramOne¶mTwo
//...
});
请参阅the docs