【发布时间】:2012-09-30 07:13:01
【问题描述】:
目前我正在玩弄 AngularJS 框架。我正在使用 $route 服务深度链接到我的单页应用程序。
现在我想在我的应用程序中导航,例如,只更改当前 URL 的搜索部分。在 JavaScript 中使用 $location 服务很容易,但是如何从当前路由构造一个 href 属性,只替换搜索部分?
我必须手工完成还是有 AngularJS 的方式?
已添加:
当然,$location 服务具有计算此类 URL 的所有方法。但我不能使用它,因为 $location 也会将浏览器窗口导航到新的 URL。
手动创建 URL 的另一个复杂之处是:必须检查是否使用了旧的 #-method 或新的 History API。根据这一点,URL 必须包含 # 符号或不包含。
【问题讨论】:
-
你的意思是,走这条路线:/something/16 并制作一条新路线,例如 /something/30 ?
-
是的,类似的。或者将 #/something/30?x=4 变成 #/something/30?x=5
-
您可以在 $rootScope 中跟踪您的 URL 的相关部分,然后您可以注入一个服务来查看这些值并更改 URL。 ......只是吐口水。
标签: javascript html angularjs