我目前正在开展一个大型重构项目,我的团队正在用更现代的方法替换应用程序中的旧功能。
我们正朝着单页面应用程序的方向发展,但在我们实现之前,我们正在用AngularJS功能替换单个独立的网页。
我们的后端是ASP.NET MVC应用程序,我被迫使用我现有的任何东西;因此URL需要保持给定的格式:
http://example.com/controller/action/id
如何在不使用AngularJS单页应用主要使用的所谓散列风格的URL的情况下,在AngularJS控制器中读取URL部分?
例如;
我转到/user/edit/1
并需要获得' 1
'以某种方式在我的AngularJS控制器中。
非常感谢任何帮助!
答案 0 :(得分:1)
$ location服务可以帮助您。根据文档https://code.angularjs.org/1.2.15/docs/guide/ $ location
$ location service为只读部分提供getter方法 URL(absUrl,协议,主机,端口)和getter / setter方法 网址,路径,搜索,哈希:
答案 1 :(得分:0)
像这样定义您的路线
angular.module('app', [])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/user/edit/:id', {
templateUrl: '/edit.html',
controller: 'editCtrl'
})
}]);
//在控制器内执行此操作
angular.module('app').controller('editCtrl', ['$scope', '$routeParams', function($scope, $routeParams){
// $routeParams is the key here
// you can access it by doing
console.log($routeParams.id)
}])