我有一个控制器,我试图使用$ 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正在正常更改,似乎我的注射中出现了问题。
答案 0 :(得分:2)
您的注入值与其名称之间存在错误的偏移
您已注入fetchSet
,但未在函数签名
此
function CardInfoController (fetchCard, _, $routeParams, $filter, $location) {
应该是
function CardInfoController (fetchCard, fetchSet, _, $routeParams, $filter, $location) {
恢复伟大签名的宇宙顺序
答案 1 :(得分:1)
$routeParams
是ngRoute
模块的服务,您必须将其添加到模块声明中:
angular
.module('card-info.controller', ['ui.bootstrap', 'ngRoute'])
.controller('CardInfoController', CardInfoController);
来源:$routeParams