javascript - Controller 无法识别从routeProvider传递的routeParams变量

标签 javascript angularjs angularjs-routing

  <script>
    var app= angular.module('myApp', ['ngRoute', 'ngResource']);

    app.factory('Greeter', ['$resource',function($resource){
      return $resource(
        'http://123.com/processor-url.php',{
        },{
          query: {
            method:'GET',
            /*params: { myvar: myvarActual },*/
            isArray:true

          }
        }
      );
    }]);

    app
    .controller('appointmentController', ['$scope', 'Greeter',function($scope,$routeParams,Greeter){
      alert($routeParams.myvar);
      Greeter.query(function(data) {
        $scope.output = data.myvar;
      });

    }]);

    app.controller('homeController', ['$scope', function($scope){
    }])


    /*Final Config After Loading Everything*/
    app.config(['$routeProvider', function($routeProvider) {
      $routeProvider.when('/appointments/:myvar', {templateUrl: 'appointments.html', controller: 'appointmentController'});
      $routeProvider.when('/home', {templateUrl: 'home.html', controller: 'homeController'});
      $routeProvider.otherwise({redirectTo: '/home'});
    }]);
  </script>

在上面的代码中,似乎 Controller 甚至无法识别本应包含在 routeProvider 的 myvar 中的 myvar。由于警报将显示 undefined,而不是 myvar 的实际值(即 .../appointments/1066 ...如果是这样,我期望 $routeParams.myvar = 1066,并且 alert($routeParams.myvar) 应为 1066

最佳答案

$routeParams依赖声明中缺少,因此目前它正在寻找 myvarGreeter不存在的...

app
.controller('appointmentController', ['$scope', 'Greeter',function($scope,$routeParams,Greeter){

应该是...

app
.controller('appointmentController', ['$scope', '$routeParams', 'Greeter', function($scope, $routeParams, Greeter){

关于javascript - Controller 无法识别从routeProvider传递的routeParams变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25144210/

相关文章:

javascript - HTML 5 表单输入验证

angularjs - 如何查看 AngularJS/UI-Router 中配置了哪些状态?

javascript - 在 AngularJs 中存储解析方法的最佳位置

java - Angular 开始(ReferenceError : angular is not defined)

javascript - 在 Google Apps 脚本中创建哈希数组

javascript - 在 JavaScript 中验证 GUID

javascript - 使用 Javascript 或 jQuery 用 <span> 元素包裹文本

Angularjs 似乎抛出无意义的错误

javascript - Protractor 消除警报弹出窗口

javascript - Angularjs + Typescript,如何将 $routeParams 与 IRouteParamsService 一起使用