2016-12-19 58 views
2

我檢索的ID在URL這樣的:不能使用狀態PARAMS變量

var id=$stateParams.carId; 

console.log(id) 

我得到正確的價值:91 的問題是:當我嘗試與lodash使用此值,我得到「未定義」:

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

但通過使用直接值:91,我發現了OB JECT我在找

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 
+1

了哪些模塊,可以CONSOLE.LOG說出來,並告訴我們? – rrd

+0

我剛剛用'模塊'編輯帖子 – John

回答

1

請檢查$ stateParams.carId的數據類型。

我想$ stateParams.carId是String類型的,因此它無法從模塊中找到合適的值。

typeof($stateParams.carId) 

使用上面的命令檢查數據類型

+1

我得到這個:string – John

+0

這意味着它們是不同的數據類型,它不能匹配它。你可以嘗試以下任何一種方法1.將$ stateParams.carId的數據類型更改爲Number(或)2.使用parseInt將其轉換爲數字__find(modules,{id:parseInt(id)});' –

+1

它的工作!謝謝 – John

0

試試這個:

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

但是,我想看看模塊中有什麼?你可以用console.log()嗎?

+0

我還有'未定義'。我用'模塊'編輯了我的帖子 – John