データから宣言された配列からAPIを更新しようとしています。オブジェクトを使って配列を初期化すると、このオブジェクトはHTMLコードによく現れます。 axios呼び出しのスコープの後に配列が "保存"されていないようです。誰でも私を喜ばせることができますか?私はエラーコード/メッセージを持っていません。VueJS - Axios配列が更新されない
var vm = new Vue({
el: '#recettes',
data: {
results: []
},
created() {
axios.get('url')
.then((response) => {
this.results = response.data
console.log("Size before end of scope = " + this.results.length) // = 4
});
console.log("Size after = " + this.results.length) // = 0
}
});
応答APIがある:
[
{
"id": 1,
"titre": "Cassoulet",
"contenu": "Couper. Faire cuire...",
"id_util": 1
},
{
"id": 2,
"titre": "Gateau",
"contenu": "chocolat",
"id_util": 4
},
{
"id": 3,
"titre": "Gateau",
"contenu": "fraise",
"id_util": 5
},
{
"id": 4,
"titre": "Gateau",
"contenu": "Mélanger, cuire, four 220°...",
"id_util": 5
}
]
テンプレート:このコードで
<div id="recettes">
<div v-for="result in results">
<div class="card">
<div class="card-divider">
{{ result.titre }}
</div>
<div class="card-section">
{{ result.contenu }}
</div>
</div>
</div>
</div>
UPDATE
var vm = new Vue({
el: '#recettes',
data: {
results: []
},
created() {
axios.get('URL')
.then(response => {
this.results = response.data
console.log("size: " + this.results.length)
console.log('results[0]: ' + this.results[0].titre)
})
}
});
、結果が[0] contaiを.titre nsは正しい文字列です。しかし、HTMLコードでは、カードは表示されません。 そして、このコードで:
var vm = new Vue({
el: '#recettes',
data: {
results: [
{"id" = 1, "id":1,"titre":"Cassoulet","contenu":"Couper. Faire cuire...","id_util":1}
]
},
created() {
axios.get('URL')
.then(response => {
this.results = response.data
console.log("size: " + this.results.length)
console.log('results[0]: ' + this.results[0].titre)
})
}
});
1枚のカードは、力価=「カスレ」とcontenu =とHTMLで表示される「クーパーフェアcuire ...。」
私はそれがいるようだと言った理由です配列は更新されません...
テンプレートとは何ですか? – Bert
テンプレートを追加しました –
あなたのテンプレートはid = recettesのdiv内にありますか?あなたのコードには問題はありません。 https://codepen.io/Kradek/pen/JJGGwy?editors=1010 – Bert