角度更改网址基于选择

时间:2013-11-21 16:53:14

标签: javascript angularjs

我想为我的angularjs应用程序改进我的链接。我有一个简单的搜索页面,人们可以通过选择左侧的类别,设置价格范围,键入搜索关键词等来缩小选择的项目。这一切都很好,但唯一的问题是,如果我想发送一个链接到某人(或者我在浏览器中单击回来)我做的所有工作都消失了。

基本上我会在我的网站上找到类似

的网址
"abc.com?cat[]=1,2,3&search=helloworld" or
"abc.com#cat[]=1,2,3&search=helloworld"

我听说过角度深度链接,但这是一个很好的场景吗?对我目前的设置来说似乎是一个很大的改变,让它发挥作用。

1 个答案:

答案 0 :(得分:2)

您应该使用$ location.search()来实现此目的。它允许您从javascript添加参数到URL。

例如,如果您在从ng-click调用的方法中添加它:

$location.search('search','helloworld');

该网址将更改为abc.com?search=helloworld

您还可以在第二个参数中设置对象以使用逗号分隔值。

如果您不想在更改网址时重新加载页面,则还必须在路由器中禁用reloadOnSearch。

此处有更多信息:http://docs.angularjs.org/api/ng.$location 在这里:http://docs.angularjs.org/guide/dev_guide.services.$location