我正在为ASP.NET MVC应用程序中使用大量kendo MVVM控件的现有页面的一部分添加角度应用程序。幸运的我。
我想从角度路线之前的URL路径访问参数。
对于具有以下内容的模块
MenuItem
当我击中时
angular
.module('myModule', ['someCommonControls', 'ngRoute', 'aConfigModule'])
.config(function ($routeProvider) {
$routeProvider
.when('/Something/Something/Details/:somethingId', {
templateUrl:'/path/to/templates/awesome.html',
controller: 'awesome',
controllerAs: 'awesome'
}
})
.otherwise({ redirectTo: '/awesome' })
;
});
页面加载,它包含我的应用程序和其他路由
http://localhost/Something/Something/Details/something-id-guid-deadbeef
现在,该路线基于http://localhost/Something/Something/Details/something-id-guid-deadbeef#awesome
,因此我不会将#awesome
包含在我的控制器中。
如何访问它并将其传递给ctor?
答案 0 :(得分:0)
由于我基本上从网址中获取了一个值,因此我使用了old school approach,直到我可以在整个应用中正确使用路由:
ctrl.theGuid = '';
if (document.location.pathname.indexOf('/Something/Something/Details') != -1) {
//TODO update this to the routing engine when possible
//0:first '/', 1:Something, 2:Something, 3:Details, 4: guid
ctrl.theGuid = document.location.pathname.split('/')[4];
}