宝哥软件园

在AngularJS下删除网址#字符的方法

编辑:宝哥软件园 来源:互联网 时间:2021-09-09

默认情况下,AngularJS将使用#来路由URL。

例如:

http://example.com/

http://example.com/#/about

http://example.com/#/contact

很容易获得一个干净的网址,并从网址中删除井号。

就完成两件事。

配置$locationProvider来设置我们的相对连接$location服务的起点路径

在Angular中,$location服务解析地址栏中的URL,并对应用程序进行更改,反之亦然。

我强烈建议通读官方的Angular $定位文档,以了解$定位服务及其功能。

$locationProvider和html5模式(html5 mode)

我们将使用$locationProvider模块并将html5Mode设置为true。

当您定义Angular应用程序并配置路由时,我们将执行此操作。

angular . module(' scotch ',[])。config(函数($routeProvider,$ location provider){ $ routeProvider。when('/',{ TemplateURl : ' partials/home . html ',controller : mainController })。when('/about ',{ TemplateURl : ' partials/about . html ',controller : mainController })。when('/contact ',{ template URL : ' partials/contact . html ',controller : main controller });//使用html 5 History API $ location provider . html 5 mode(true);});什么是HTML5历史API?使用脚本操作浏览器历史记录是一种标准方法。有了它,Angular可以在不刷新页面的情况下更改页面的路线和URL。有关更多信息,这里有一篇很好的HTML5历史API文章。

为相对链接设置基础

要在整个应用程序中使用相对链接,您需要在文档的头部设置一个集合。

!doctype html head metachar set=' utf-8 ' base href='/'/head,配置这个东西的方法有很多,将HTML5Mode设置为true会自动解析相对链接。这种方式总是在我的地方奏效。如果你的应用程序的根不同于url,比如/my-base,那么就用它作为你的起始路径。

旧浏览器回调

对于不支持HTML5浏览历史API的浏览器,$location服务将自动回调hashbang方法。

一切对你来说都是透明的,所以你不需要为它做任何配置。从Angular $location文档中,您可以看到回调方法是如何工作的。

2015619153430123.jpg  (567311)

摘要

这是在Angular应用程序中获取漂亮URL和删除散列标记的简单方法。享受超清洁、超快速的Angular应用!

更多资讯
游戏推荐
更多+