AngularJs $location获取url参数

时间:2021-09-24 19:42:35
$location服务解析在浏览器地址栏中的URL(基于window.location)并且让URL在你的应用中可用。 改变在地址栏中的URL会作用到 $location服务,同样的,改变 $location服务也会改变浏览器的地址栏。 (可以使用 $location进行重定向等操作) $location服务: 暴露浏览器地址栏中的URL,让你可以: 监察URL。 改变URL。 与浏览器同步URL,当: 改变地址栏。 单击『前进』『后退』或一个历史记录中的链接。 打开一个链接。 将URL对象表示为一个方法集。 (protocol, host, port, path, search, hash) 服务依赖: $browser $sniffer $rootElement 内置方法: absUrl( ):只读;根据在RFC 3986中指定的规则,返回url,带有所有的片段。 hash( ):读、写;当带有参数时,返回哈希碎片;当在带有参数的情况下,改变哈希碎片时,返回 $location。 host( ):只读;返回url中的主机路径。 path( ):读、写;当没有任何参数时,返回当前url的路径; 当带有参数时,改变路径,并返回 $location。(返回的路径永远会带有/) port( ):只读;返回当前路径的端口号。 protocol( ):只读;返回当前url的协议。 replace( ):如果被调用,就会用改变后的URL直接替换浏览器中的历史记录, 而不是在历史记录中新建一条信息,这样可以阻止『后退』。 search( ):读、写;当不带参数调用的时候,以对象形式返回当前url的搜索部分。 url( ):读、写;当不带参数时,返回url;当带有参数时,返回 $location。 内置事件: $locationChangeStart:在URL改变前发生。 这种改变可以通过调用事件的preventDefault方法为阻止。 查看ng. $rootScope.Scope #$on获得更多的细节。成功时触发$locationChangeSuccess事件。 $locationChangeSuccess:当URL改变后发生。 使用 何时使用 $location 任何你想要改变当前URL的时候,都可以使用 $location $location不会做 当浏览器的URL改变时,不会重新加载整个页面。 如果想要重新加载整个页面,需要使用 $window.location.href。