角度更改网址位置而不重新加载页面

时间:2014-04-20 18:36:52

标签: angularjs

我有一些部分加载了一些URL templates/test.html。这个TemplateURL永远是相对的。我想在网站的不同位置使用相同的模板。

所以,我想使用相同的相对网址http://somedomain.com/templates/Test.html,即使我在http://somedaomian.com/some1/some2

的实际网址上

我尝试使用$loaction服务,但我无法在需要时将$ loaction设置回home网址。

在我的控制器中,我想:

var new_base_url = homeURL();

function homeUrl() {
   /* Here is where I am unable to get the home url */
   $location.path('/');      // simply returns the current url 

};

1 个答案:

答案 0 :(得分:1)

如果您想要绝对网址,$location.absUrl()将返回所有内容(所有网址段)。

如果您想要主机名,$location.host()将返回主机名。

如果您需要协议,$location.protocol()将返回该协议。

如果您想要路径,$location.path()将返回该路径。

如果您想要哈希,$location.hash()将返回该哈希值。

您应该能够使用这些方法来解析您所追踪的网址。

var path = $location.path();
var hash = $location.hash();
var basePath = path.replace(hash, '');