AngularJS $routeParams是未定义的

AngularJS $routeParams is undefined

本文关键字:未定义 routeParams AngularJS      更新时间:2023-09-26

我是AngularJS的新手,我试图在我的代码中使用$routeParams,在这里搜索以前的答案,我已经确保我已经添加了'$routeParams'作为我的数组注入和函数的一部分,我不使用ui-router模块。然而,当我试图记录它时,我仍然得到一个未定义的。

我的Angular应用如下:

var RAFITOAPP = RAFITOAPP || {}
RAFITOAPP.app = angular.module('app', [
  'ngRoute'
]).config(['$routeProvider', function($routeProvider) {
  $routeProvider.
    when("/line/:userAccountId", {templateUrl: "assets/partials/line.html", controller: "LineController"}).
    when("/floormap", {templateUrl: "assets/partials/floormap.html", controller: "MapController"}).
    when("/report", {templateUrl: "assets/partials/reports.html", controller: "ReportController"}).
    when("/addNew", {templateUrl: "assets/partials/add_new.html", controller: "addNewController"}).
    when("/profile", {templateUrl: "assets/partials/account.html", controller: "accountSettingsController"}).
    otherwise({redirectTo: '/line'});
}]);

我的控制器如下:

RAFITOAPP.app.
controller('LineController', ['$scope','$rootScope','$routeParams', function($rootScope, $scope, $location, $routeParams) {
    $scope.$on('$viewContentLoaded', function() {
        console.log($routeParams);
        change('line');
        if(control != 1){
            setTimeout(function() {
                script1fire();
            } , 100);
            control = 1;
        }
    })
}]);

请告诉我我错过了什么?任何帮助都将不胜感激。如果你想查看导致问题的HTML页面它是

您的数组依赖项和函数参数不相同。应该是这样的'['$rootScope', '$scope', '$location', '$routeParams', function($rootScope, $scope, $location, $routeParams)'而不是'['$scope','$rootScope','$routeParams', function($rootScope, $scope, $location, $routeParams)'

RAFITOAPP.app
  .controller('LineController', ['$rootScope', '$scope', '$location', '$routeParams',
    function($rootScope, $scope, $location, $routeParams) {
      $scope.$on('$viewContentLoaded', function() {
        console.log($routeParams);
        change('line');
        if (control != 1) {
          setTimeout(function() {
            script1fire();
          }, 100);
          control = 1;
        }
      })
    }
  ]);