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

angularjs中的路由,$routeParams.energyId未定义,angularjs,routing,Angularjs,Routing,这里是$routeParam打印到控制台的两次问题,即,对象{}和带有参数的对象。我想访问输出错误的参数,因为它正在访问$routeParam的对象{}状态 我怎样才能解决这个问题 你能详细说明一下吗?因为我在这里把它打印了一次,但是它显示了两个值,这意味着它执行了两次。我使用了当前的parms,但它没有帮助,这是我的代码。 我要找那些女伴 var myApp = angular.module('myApp', ['ngGrid', 'ngRoute', "ngAnimate",

这里是$routeParam打印到控制台的两次问题,即,对象{}和带有参数的对象。我想访问输出错误的参数,因为它正在访问$routeParam的对象{}状态

我怎样才能解决这个问题

你能详细说明一下吗?因为我在这里把它打印了一次,但是它显示了两个值,这意味着它执行了两次。我使用了当前的parms,但它没有帮助,这是我的代码。 我要找那些女伴

        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);
}

当控制器加载两次时,可能会发生这种情况。你能检查一下你的视图中是否有像
ng controller='details controller'
这样的控制器声明吗。谢谢男人们,它工作得很出色啊,我花了好几天时间才解决了路由问题汉克斯男人们,它工作得很出色啊,我花了好几天时间才解决了路由问题