不能使用state params变量

时间:2016-12-19 10:22:41

标签: angularjs lodash

我正在检索网址中的ID:

  var id=$stateParams.carId;

  console.log(id) 

我得到了正确的价值:91 问题是:当我尝试将此值与lodash一起使用时,我得到“未定义”:

 console.log(id) //91
 var result = _.find(modules, {id: id});
 console.log(result); //undefined

但直接使用值:91,我正在找到我正在寻找的对象<​​/ p>

console.log(id) //91
var result = _.find(modules, {id: 91});
console.log(result); //it works

我有模块

 console.log(modules)// Array[244]

我正在寻找的元素是:

manager:John
user:Marc
documentation: Array[0]
id: 91

2 个答案:

答案 0 :(得分:1)

请检查$ stateParams.carId。

的数据类型

我认为$ stateParams.carId的类型为String,因此无法从模块中找到适当的值。

typeof($stateParams.carId) 

使用上面的命令检查数据类型

答案 1 :(得分:0)

试试这个:

var result = _.find(modules, { id: _.get($stateParams, 'carId') });

但是,我想看看模块中有什么?你可以把console.log()搞定吗?