$ routeParams没有返回Object

时间:2015-03-06 01:14:00

标签: javascript angularjs

我有一个控制器,我试图使用$ routeParams访问参数但是当我用console.log检查值时,正在引用lodash。

(function() {
  'use strict';

  angular
    .module('card-info.controller', ['ui.bootstrap'])
    .controller('CardInfoController', CardInfoController);

  CardInfoController.$inject = [
    'fetchCard',
    'fetchSet',
    '_',
    '$routeParams',
    '$filter',
    '$location'
  ];

  function CardInfoController (fetchCard, _, $routeParams, $filter, $location) {
    var vm = this;
    var id = $routeParams.id;

    fetchCard.getCardInfo(id).then(function(d) {
      displayCard(d);
    });

  ...

  }
)}()

以下是controller的链接。路由器事件正在触发,URL正在正常更改,似乎我的注射中出现了问题。

2 个答案:

答案 0 :(得分:2)

您的注入值与其名称之间存在错误的偏移

您已注入fetchSet,但未在函数签名

中使用它

function CardInfoController (fetchCard, _, $routeParams, $filter, $location) {

应该是

function CardInfoController (fetchCard, fetchSet, _, $routeParams, $filter, $location) {

恢复伟大签名的宇宙顺序

答案 1 :(得分:1)

$routeParamsngRoute模块的服务,您必须将其添加到模块声明中:

 angular
  .module('card-info.controller', ['ui.bootstrap', 'ngRoute'])
  .controller('CardInfoController', CardInfoController);

来源:$routeParams

相关问题