angularjs 中的路由,$routeParams.energyId 未定义

Routing in angularjs ,$routeParams.energyId undefined

这是 $routeParam 两次打印到控制台的问题,即 Object {}object with params.I 想要访问输出错误的参数,因为它正在访问 $routeparam 的 Object {} 状态。

我该如何解决这个问题。

你能详细说明一下吗,因为我曾将它打印到控制器中的控制台一次,但它显示了两个值,这意味着它正在执行两次。我使用了当前的参数,但这对我的代码没有帮助。 我想获取参数。

        var myApp = angular.module('myApp', ['ngGrid', 'ngRoute', "ngAnimate", "ngAria", 'ngMaterial']);


    myApp.config(['$routeProvider', function ($routeProvider) {
        $routeProvider.
        when('/:energyId/:energyChain/:resourceId/:facilityId',
        {
            templateUrl: '/Content/resourceTemplate.html',
            controller: 'detailsController'
        }).
        otherwise({
            redirectTo: '/param1/param1/param1/param1'
        });

    }]);

    myApp.controller('detailsController', ['$scope', '$routeParams', function ($scope, $routeParams) {

            console.log($routeParams);

您可以通过添加 routeChangeEvents 来解决这个问题。

示例:

 myApp.controller('detailsController', ['$scope', '$routeParams', '$route',function ($scope, $routeParams,$route) {

 $scope.$on('$routeChangeSuccess', function () {
            console.log($routeParams);
}