我目前正在使用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进行路由。
答案 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);
}