2014-10-22 69 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

相关问题