我想为我的angularjs应用程序改进我的链接。我有一个简单的搜索页面,人们可以通过选择左侧的类别,设置价格范围,键入搜索关键词等来缩小选择的项目。这一切都很好,但唯一的问题是,如果我想发送一个链接到某人(或者我在浏览器中单击回来)我做的所有工作都消失了。
基本上我会在我的网站上找到类似
的网址"abc.com?cat[]=1,2,3&search=helloworld" or
"abc.com#cat[]=1,2,3&search=helloworld"
我听说过角度深度链接,但这是一个很好的场景吗?对我目前的设置来说似乎是一个很大的改变,让它发挥作用。
答案 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