あなたのデータがビューを駆動させる必要があります。言い換えれば
、あなたは次のHTMLを持っていると仮定してみましょう:
<div id="app">
<component></component>
<!-- the following ones are inserted via ajax -->
<component></component>
<component></component>
</div>
とJS:
var app = new Vue({
el: '#app',
data: {
foo: 'bar',
}
})
あなたはおそらく、AJAXリクエストを作り、HTMLに手動<component></component>
を挿入しています。それはあなたがVuejsで働くべき方法ではありません。
あなたのデータが表示され運転させ方法は、よく、必要なデータの作成:このコードで
var app = new Vue({
el: '#app',
data: {
foo: 'bar',
components: [
{}, //component related data
...
]
},
components: {
component,
},
ajaxRequest() {
//this should push into your components array
// example:
$.ajax().done(function(data) {
this.components.push(data);
})
}
})
を、私が保存されますdata
に新しい配列(components
)を追加しました私の視点でレンダリングしたいコンポーネント私がajax経由でコンポーネントをフェッチするとき、私はこの配列にそれらを追加します。今、私はHTMLを変更した場合:components
配列が更新されるたびに
<div id="app">
<component v-for="component in components" data="component">
</component>
</div>
、Vueが自動的にビューに追加します。
いくつかのコードを表示できますか?あなたが何をしているのかは分かりません。 – Bert