一尘不染

在ui路由器网址中查询字符串参数?

angularjs

我有以下状态:

.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'
})

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

对我而言,最有意义的只是params: ['customer']quotes.new状态定义中添加a
,但这使我犯了一个错误,抱怨我同时指定了url和params。

我尝试做的任何例子将不胜感激。


阅读 190

收藏
2020-07-04

共1个答案

一尘不染

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

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

可以使用&:分隔多个参数,以添加多个参数:

.state('mystate', {
  url: '/myState?paramOne&paramTwo
  //...
});

查看文档

2020-07-04