Javascript 在不导致状态加载的情况下更改位置地址

Javascript 在不导致状态加载的情况下更改位置地址,javascript,angularjs,angular-ui,single-page-application,angular-ui-router,Javascript,Angularjs,Angular Ui,Single Page Application,Angular Ui Router,我正在使用AngularJS 1.2+和AngularUI路由器。 我正在尝试更改位置地址,而不会导致重新加载。我尝试了以下方法,但无效: function setPath(stateName, stateParams) { var path = $delegate.href(stateName, stateParams); var off = $rootScope.$on('$locationChangeSuccess', function(event) { e

我正在使用AngularJS 1.2+和AngularUI路由器。 我正在尝试更改位置地址,而不会导致重新加载。我尝试了以下方法,但无效:

function setPath(stateName, stateParams) {
    var path = $delegate.href(stateName, stateParams);
    var off = $rootScope.$on('$locationChangeSuccess', function(event) {
        event.preventDefault();
        off();
    });
    $location.path(path).replace();
}
setPath('my.state.name', myStateParams);
打了电话后,地点没有改变。
有可能吗?有什么解决方法吗?

不确定这是否适用于UI路由器,但这里有很多关于Skippreload函数的建议:@ArthurFrankel我尝试过一些类似的方法。它不起作用。我不知道听哪个事件。我假设$locationChangeSuccess事件?