Javascript 角度ui路由器更改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,

我正在从事angular 1.6.x和ui router 1.0.x的项目

我想在不重新加载状态的情况下更改浏览器url,为此我尝试了以下方法:

   $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