angularjs从url获得paramater

时间:2016-04-22 20:06:35

标签: asp.net angularjs asp.net-mvc

我目前正在使用asp.net mvc网站,我们在其中使用angularjs进行模型绑定。我有一个控制器设置,但我需要从URL获取id以将其传递给服务。我的网址看起来像:

http://localhost/myapp/section/5

我需要抓住网址中的5个,我们不使用角度进行路由,无论如何都要通过角度抓住它?否则我可以使用.net将其注入全局js变量并使用angular从那里读取id。

我将角度控制器设置如下:

    myModule.controller('SectionController', ['$scope', 'sectionRepository', '$routeParams', SectionController]);

function SectionController($scope, sectionRepository, $routeParams) {
    var vm = this;

    alert($routeParams.id);

警报返回'未定义',我假设因为我从未设置角度路线,有没有办法在没有设置路线的情况下完成,因为我们不会想使用angular进行路由。

1 个答案:

答案 0 :(得分:3)

您可以使用$location服务来获取网址。从那里,只需解析它。

function SectionController($location) {
    var url = $location.url();
    //regex is slow, you should use substring/slice instead
    //var regex = /(?:section\/)[0-9]+/;

    var id = url.substring(url.indexOf("section/") + "section/".length);
    alert(id);
}