私はVue JSとその動作方法を少し混乱させています。私は、次のコンポーネントがあります。私のメソッドではVue JSデータオブジェクトが利用できません
Vue.component('careers', {
template: `
<div class="context">
<div v-for="career in careerData">
<h1>{{ career.fields.jobTitle }}</h1>
{{ career.fields.jobDescription }}
</div>
</div>`,
data: function() {
return {
careerData: []
}
},
created: function() {
this.fetchData();
},
methods: {
fetchData: function() {
client.getEntries()
.then(entries => {
this.careerData = entries.items;
});
for (var i = 0, len = this.careerData.length; i < len; i++) {
console.log('Success');
}
}
}
});
私then()
関数内のこの行は、私のデータオブジェクトcareerData
に配列を割り当てます。
this.careerData = entries.items
私はこのfor
実行しよう:それは動作しません
for (var i = 0, len = this.careerData.length; i < len; i++) {
console.log('Success');
}
をthis.careerData.length
が、それにはデータを持っていないように見えるので、私は以内に私のコンポーネントを実行しようとすると、それはしかし、ちょうど空の配列です私のHTMLデータはページに完全に表示されます。
私がここで間違っているかもしれないと思うことは、どんな私の方法でもthis.careerData
を使用できないかのようです。私がこのデータにアクセスできない理由がわかっていても、すでに私はfetchData
メソッドでそれを割り当てていますか?データがフロントエンドに完全に到達するように管理するのは非常に奇妙ですが、私の方法ではどこにでも使用することはできません。
おかげで、ニック
をあなたはcareerData配列によって二回反復されている理由を私は疑問に思いますか?基本的になぜfetchDataメソッドの中でそれをやっているのですか? –