Angularjs 使用角度ui路由器的路由中的感叹号(!)

Angularjs 使用角度ui路由器的路由中的感叹号(!),angularjs,angular-ui-router,Angularjs,Angular Ui Router,我在一个项目中使用Angularjs(1.x)作为web框架。在那个应用程序中,我需要路由,所以我正在使用。我在我的应用程序中配置了路由,它工作正常,但是路由中的感叹号(!)我不清楚,为什么这些感叹号会出现在路由中 另外,我还看到了angular ui router提供的示例代码。在中,我观察到路由带有散列(#),但不带有感叹号(!)例如:https://some_url/#/home 但是在路由中使用了散列(#)和感叹号(!)例如https://some_url/#!/您好 两个教程中的角度u

我在一个项目中使用Angularjs(1.x)作为web框架。在那个应用程序中,我需要路由,所以我正在使用。我在我的应用程序中配置了路由,它工作正常,但是路由中的感叹号(!)我不清楚,为什么这些感叹号会出现在路由中

另外,我还看到了
angular ui router
提供的示例代码。在中,我观察到路由带有散列(#),但不带有感叹号(!)例如:
https://some_url/#/home

但是在路由中使用了散列(#)感叹号(!)例如
https://some_url/#!/您好

两个教程中的角度ui路由器的配置方式相同。这就是为什么我无法理解到底是什么在两者之间造成了差异。所以,我需要帮助来理解这一点

如有任何有用的建议,将不胜感激


谢谢

让每个人都知道这个问题的答案,添加我从评论中理解的内容

这种变化可以在角度版本>1.6.x中观察到。在上一个版本中,它就像是只有
#
(hash-bang)一样。 要仅以类似于
的方式获取url,您只需以这种方式编写

appModule.config(['$locationProvider', function($locationProvider) {
  $locationProvider.hashPrefix('');
}]);

此更改是在
版本1.6.0
中引入的,您可以看到

此外,在此处添加所写内容:

$location
哈希bang URL的哈希前缀已从空字符串“”更改为bang“!”。如果您的应用程序不使用
HTML5模式
,或者正在不支持
HTML5模式
的浏览器上运行,并且您没有指定自己的哈希前缀,那么客户端URL现在将包含一个“!”前缀。例如,而不是mydomain.com/#/a/b/c将成为mydomain.com/#/a/b/c


在新版的
angularjs
中,您可以看到
/#
在旧版本中,您只看到
/#
@Hadi:angularjs的新版本和旧版本是什么意思?请看这一变化是在版本1.6.0中引入的。谢谢@JBNizet,这个链接非常有用。