编程语言
首页 > 编程语言> > javascript – Angular 1 – 获取当前的URL参数

javascript – Angular 1 – 获取当前的URL参数

作者:互联网

我想从当前URL中提取数据并在控制器中使用它.
例如,我有这个网址:

app.dev/backend/surveys/2

我要提取的位:

app.dev/backend/ :type / :id

Angular中有什么可以帮助我完成这项任务吗?

解决方法:

使用ngRoute从URL获取参数.这意味着您需要在应用程序中包含angular-route.js作为依赖项.更多信息如何在官方ngRoute documentation上执行此操作.

问题的解决方案:

// You need to add 'ngRoute' as a dependency in your app
angular.module('ngApp', ['ngRoute'])
    .config(function ($routeProvider, $locationProvider) {
        // configure the routing rules here
        $routeProvider.when('/backend/:type/:id', {
            controller: 'PagesCtrl'
        });

        // enable HTML5mode to disable hashbang urls
        $locationProvider.html5Mode(true);
    })
    .controller('PagesCtrl', function ($routeParams) {
        console.log($routeParams.id, $routeParams.type);
    });

如果未启用$locationProvider.html5Mode(true);.网址将使用hashbang(/#/).

有关路由的更多信息可以在官方角度$route API documentation上找到.

附注:这个问题是回答如何使用ng-Route实现这一点但是我建议使用ui-Router进行路由.它更灵活,提供更多功能,文档很棒,它被认为是角度最佳的路由库.

标签:javascript,angularjs,ngroute
来源: https://codeday.me/bug/20190922/1813275.html