相关疑难解决方法(0)

使用Angular ui-router设置URL查询参数而不更改状态

如何使用AngularJS'ui-router更新地址栏URL以更新查询参数以在刷新页面时保持状态?

目前,我$state.transitionTo('search', {q: 'updated search term'})在输入更改时使用,但问题是这会重新加载控制器,重绘窗口并丢失任何文本输入焦点.

有没有办法更新stateParams并将其同步到窗口URL?

url query-parameters angularjs angular-ui-router

65
推荐指数
3
解决办法
6万
查看次数

使用Angular UI Router在URL中设置动态参数

我正在使用查询系统,允许用户从动态字段列表构建查询,我想在URL中持久查询.

通常我会这样做:

$stateProvider.state('alerts', {
                url: '/alerts/list?p1&p2&p3'
            })
Run Code Online (Sandbox Code Playgroud)

在控制器中我可以用$ stateParam读取params:

console.log($stateParams.p1)
Run Code Online (Sandbox Code Playgroud)

我可以在URL中保存查询:

$state.go($state.current, {p1:'1', p2: '2'}, {location: true, inherit:true, notify:false})
Run Code Online (Sandbox Code Playgroud)

但问题是我不能宣布所有的参数.

我想要做:

$state.go($state.current, {p1:'1', p2: '2', p3:'3', p4: '4', p5:'5'}, {location: true, inherit:true, notify:false})
Run Code Online (Sandbox Code Playgroud)

但是ui-router忽略了没有声明状态的params.

我知道$ location.search让我可以访问URL搜索部分,但是如何设置URL(不更改状态和重新加载页面)?

angularjs angular-ui-router

6
推荐指数
1
解决办法
9567
查看次数