2014-11-19 2 views
0

Tracker.autorun()의 개체 속성에 액세스 할 수 없습니다. 나는 console.log() 수 있지만 object.id 또는 object[id] 또는 object["id"] 할 수 없습니다. 내가 부족 뭔가Tracker.autorun()의 개체 속성에 액세스 할 수 없습니다.

Tracker.autorun(function() { if (Meteor.user()) { Me = FacebookCollections.getCollection("/me/accounts"); } });

Tracker.autorun(function() { if (Meteor.user() && Me) { Account = Me.find().fetch()[0]; console.log(Account); // this works console.log(Account.id); // this doesn't } });

있습니까 : 나는

여기 내 코드의 Uncaught TypeError: Cannot read property 'id' of undefined를 얻을?

+0

가능한 오타 @ 오타 가능성이 높습니다,'Account._id'되어야한다? – imslavko

+0

Nope. 그것은 Account.id입니다. 'if (Account)'로 검사하여 작동하도록했습니다. 감사. –

답변

0

이 줄에서 'Account = Me.find(). fetch() [0]; '는 쿼리가 적어도 하나의 항목을 반환한다고 가정 할 때 "어쩌면 그것은 존재한다 ". 귀하의 경우에는이 더 문제가 될 수 없지만, 개체 확인하는 것을 잊지 수 있습니다 if(Account){//your code}

슬라바가 지적했듯이, 당신의 오류가 console.log(Account.id); // this doesn't

+0

'Account.id'를 사용하여 다른 API 호출을하고 싶지만 계속이 오류가 발생합니다. Uncaught TypeError : 'id'of undefined' 속성을 읽을 수 없습니다. 'if (Account) console.log (Account.id)'를 할 수 있지만'if (Account) Posts = FacebookCollections.getCollection ("/"+ Account.id + "feed") 할 수 없습니다. ;'. 이것의 원인은 무엇일까요? –

+0

'Account'는 객체 일 수 있지만'id' 속성이 없을 수도 있습니다. 그러면 오류가 발생합니다. –

+0

'Account'는'id' 속성을 가지고 있습니다. 내 템플릿에 Account 객체의 내용을 표시 할 수 있지만 'id'속성을 사용하여 다른 API 호출을 할 수 없습니다. –

관련 문제