Javascript 角度ui路由器更改url,无需重新加载控制器
我正在从事angular 1.6.x和ui router 1.0.x的项目 我想在不重新加载状态的情况下更改浏览器url,为此我尝试了以下方法:Javascript 角度ui路由器更改url,无需重新加载控制器,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我正在从事angular 1.6.x和ui router 1.0.x的项目 我想在不重新加载状态的情况下更改浏览器url,为此我尝试了以下方法: $state.transitionTo($state.$current.name, {param1: "value"}, { location: true, inherit: true, relative: $state.$current,
$state.transitionTo($state.$current.name, {param1: "value"}, {
location: true,
inherit: true,
relative: $state.$current,
reload: false,
//Seems to be deprecated...
notify: false
});
我只想更改url中的param1值,但Transitiono会重新加载我的当前状态,从而销毁并重新创建我的控制器
我以前使用过ui路由器0.x,notify参数也适用于此
如何使用ui router 1.0.x做到这一点
谢谢大家! 我认为这是一个bug(使用ui路由器1.0.3)
定义:
.state('app.order', {
url: '/order/:id',
params: {
id: { value: null } // id is optional
},
.....
已尝试所有变体:
some_id can either be an int or null
$state.go('.', {
id: some_id
}, { location: true });
$state.go('.', {
id: some_id
}, { location: "replace" });
$state.go('.', {
id: some_id
}, { location: true, reload: false });
$state.go('.', {
id: some_id
}, { location: "replace", reload: false });
事实是我的方向不对 为此,我必须将参数定义为动态: 感谢@Anber