0
私はVueJSを少し新しくしているので、私はいくつかの助けを得ることを望んでいました。私は現在、PHPファイルからjsonオブジェクトの配列を返しています。データがアレイに追加されたときにv-forを更新する - VueJS
例:
<?php
/*
Returns an array similar to this:
[
{name: 'foo'},
{name: 'bar'},
{name: 'banana'}
]
*/
echo json_encode(array_values($array));
?>
そして、私はVueの中のオブジェクトの既存の配列にオブジェクトのこの配列を追加しています:
axios.post('http://localhost/get_array.php').then(response => {
// Append returned array to already existing array
for (var i = 0; i <= response.data.length - 1; i++) {
this.existingArray.push(response.data[i])
}
}).catch(e => {
console.log("Error")
})
は今、私はのためにデータを追加していますVueJSにforループを使用せずに自動的にこれを行う組み込み関数があるのかどうか疑問に思っていましたか?
axios.post('http://localhost/get_array.php')
.then(response => {
this.existingArray = this.existingArray.concat(response.data)
})
.catch(e => {
console.log("Error")
})
更新をトリガする必要があり応答データと連結を呼び出した結果とexistingArrayの更新:
['Array.prototype.concat()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat)と[反応の深さVue docs](https://vuejs.org/v2/guide/reactivity.html)を参照してください。 – Nit
'concat()'を使って配列をマージしようとしましたが、レンダリングしていたビューを更新しませんでした。私は 'Vue.set()'も試しましたが、それを動作させることができなかったので、私はforループに戻らなければなりませんでした。 @Nit –
どのように 'concat'を使っていましたか? – Bert