2014-10-22 66 views
1

我想更改URL查詢參數而不重新加載我的控制器。而且我不能使用reloadOnSearch屬性,因爲它不符合我的其他要求。AngularJS:如何更改URL參數而不使用reloadOnSearch並且不使用ui路由重新加載控制器?

例如:Path: /score?interval

我想改變interval值,而無需使用reloadOnSearch和控制器不應該被重新加載。

這可以用Angularjs來完成嗎?如果是這樣,那麼怎麼樣?

預先感謝您!

回答

2

看看下面的Plunker。它使用Angular的$ location服務在不重新加載控制器的情況下更改URL。如果你想改變只是URL參數,你可以做到這一點如本Plunker

$location.path('/test/item/' + $scope.itemId); 

:您可以使用此方法還更新URL參數。 (預覽窗口模式,看看它的工作),你可以用$ location.search()來做到這一點,如下圖所示:

$location.search('id', testId); 

希望這有助於。

+0

$ location.path用於更改路徑,而不是查詢參數!或者可能是我錯了? – 2014-10-22 08:07:37

+0

請參閱我更新的答案和Plunker示例。 – 2014-10-22 08:29:56

+0

謝謝!但是,這是工作,如果我沒有定義'時間間隔'參數到'$ stateProvider'配置。但是,我不能使用'$ stateParams'來獲得價值。 – 2014-10-22 08:59:02

相關問題