如何解析AngularJS中的位置路径?

时间:2017-06-17 08:05:55

标签: angularjs

例如,该网页是' http://mywebsite/details/555',我怎样才能获得' 555'在我的控制器外面?它不是一个参数,所以我无法通过名字来查找它。

2 个答案:

答案 0 :(得分:2)

查看Angular路由参数。您想要的数字实际上是在您可以捕获的路由路径中使用的ID:

答案 1 :(得分:1)

你写的是555不是参数 - 但我认为你想像参数一样使用它。参数类似于:http://mywebsite/#/details/555

然后你可以在你的路由器中定义它(这里我使用的是ui-router,但你可以用ng-route做同样的事情:

$stateProvider
    .state('details.id', {
        url: "/details/:id",
        templateUrl: 'detail.html',
        controller: myController
    })

请参阅https://github.com/angular-ui/ui-router/wiki/URL-Routing

如果您仍想解析您的网址字符串,可以这样做:

var detailId = this.href.substr(this.href.lastIndexOf('/') + 1);

但正确的(可能是唯一有效的)方法是使用路由器。