如何在Angular JS中获取URL段?

时间:2015-06-16 15:08:01

标签: angularjs

我在项目中有URL:

  

http://blo.c/news   http://blo.c/video

如何从这些网址获取细分newsvideo

我尝试在Angular JS中使用$location,但此对象没有这些段

3 个答案:

答案 0 :(得分:2)

您需要使用$location.path()

// given url http://blo.c/news
var path = $location.path();
// => "/news"

如果您使用的是HTML5模式,则必须确保设置$locationProvider.html5Mode(true),以便$location正常工作。

如果你没有使用HTML5模式(这里就是这种情况);那么你需要放到traditional javascript来获取网址,因为你首先没有使用Angular路由:

// given url http://blo.c/news
var path = window.location.pathname;
// => "/news"

您可以选择直接注入$window而不是window,这只是本地window对象的精简包装,但便于测试。

答案 1 :(得分:1)

使用$location.path功能获取网址。要获取网址后面的内容,请使用split

$location.path.split(/\{1}/)[1]

答案 2 :(得分:0)

const URL = '/seg1/?key=value';
$location.path();// will return URI segment (in above URL it returns /seg1 ).

$location.search(); // getter will fetch URL segment after ? symbol.  
//(in above URL it returns {key:value} object ).

官方文档:https://docs.angularjs.org/guide/$location