0

こんにちは、私のコレクションからすべての「緯度」フィールドを出力しようとしています。しかし、私が何をしても正しい数の結果が返されますが、それらはすべて未定義であり、データは間違いなくそこにあり、名前は間違いなく正しいです。関数内で get を使用して pluck と _.each を使用しようとしましたが、それが言うことはすべて未定義です。

これは私が試みている現在の方法です

var ccLocal = window.router.carsCollection;
_.each(ccLocal.models, function(model) {
    console.log(model.lat);
})

loggingccLocalはすべてのデータを含むコレクション全体を返すため、確実に存在します。私は何を間違っていますか?

使用model.get("lat")も失敗します。

を使用するとconsole.log(ccLocal.at(0).attributes);、これが返されます

Object {unitID: "03_Cow_30", positionHistory: Array[1]}
positionHistory: Array[1]
0: Object
estimatedSpeed: "39"
isToday: false
lastSoundFileName: "F11"
lastSoundRange: "11"
lastSoundTime: "2008-10-29 20:38:25"
lat: "51.466227"
long: "-0.491647"
minutesAgo: 1016726
status: "1"
time: "2011-07-13 16:03:37"
__proto__: Object
length: 1
__proto__: Array[0]
unitID: "03_Cow_30"
__proto__: Object

ここに画像の説明を入力

4

1 に答える 1

2

ああ、あなたのモデルのattributesデータ構造は誰もが考えていたものではありません。構造に基づいて、attributesこのようなものが必要です。positionHistory が少なくとも 1 つの要素を持つ配列であると想定しているため、少し壊れやすいですが、そこにデータがあります。

var ccLocal = window.router.carsCollection;
_.each(ccLocal.models, function(model) {
   console.log(model.get('positionHistory')[0].lat);
})
于 2013-06-18T13:56:53.727 に答える