更改URL而不在AngularJS中重新加载

时间:2016-08-08 11:12:39

标签: javascript angularjs html5

我有一个功能,可以在点击按钮时更改URL。

问题:

  

AngularJS显然会自动重新加载URL。

var newUrl = ($state.current.url).replace('{navigationId}', $stateParams.navigationId).replace('{tabId}', tab.stateReference);
history.pushState('', tab.stateReference, newUrl);

如何在不重新加载AngularJS中的页面的情况下更改URL?

修改

我尝试使用此处所述的reloadOnSearch: falsehttps://docs.angularjs.org/api/ngRoute/provider/ $ routeProvider - 但它仍会重新加载页面。

1 个答案:

答案 0 :(得分:0)

每个人都应该$state&每个你想要导航的州。然后你可以$state.go到特定的状态

$state.go('toState');

如果您想将参数传递给$state,那么您应该在$state.go上传递参数

$state.go('view', { 'index': 123, 'anotherKey': 'This is a test' });

确保$state已准备好接受params

上的参数
.state('full', {
            url: '/full',
            templateUrl: 'js/content/templates/FullReadView.html',
            params: { opmlFeed:null, source:null },
            controller: 'FullReadCtrl'
        })

更多内容请阅读Wiki