私はそうのようなAPIを持っている、に基づいて異なる要素をロードするための最良の方法は、Vue.js 2:それぞれがJSONのリストを返す複数のパラメータ
/api/data/foo
/api/data/bar
/api/data/fizz
は、私はまた、単一の単一ページのアプリケーションを持っているオブジェクトテーブルとドロップダウンセレクタ。
<select v-model="tableChoice">
<option selected>Foo</option>
<option>Bar</option>
<option>Fizz</option>
</select>
<table class="table table-hover">
<thead>
<tr>
<th v-for="header in tableHeaders">
{{ header }}
</th>
</tr>
</thead>
<tbody>
<tr v-for="record in tableData" :key="record.recordId">
<td v-for="element in record">{{element}}</td>
</tr>
</tbody>
</table>
現在、私はちょうど3つの別個のVuesを持っているので、それぞれ独自のAPI URLとテーブルヘッダーのセットを持っています。
var fooLink = 'api/foo';
new Vue ({
el: '#app',
data: {
tableHeaders:["Record ID","Record Name", "Record Detail"],
tableData: null,
dataChoice: 'Foo'
},
methods:{
getFooData: function(){
this.$http.get(fooLink).then(function(response){
this.tableData = response.data;
}, function(error){
console.log(error.statusText);
});
}
},
mounted: function() {
this.getFooData();
}
});
どのように私は、単一のテーブルまたはコンポーネントを使用し、tableChoice変数に基づいて、APIのURLは、テーブルのデータを移入するために使用されるかを決定することができますか?
コンポーネントに関するドキュメントは、小道具を使用した条件付き読み込みでは不明です。
こんにちは、この答えは非常によく動作します。私は質問があります、VueJSでこのような操作のためのコンポーネントを使用しないほうが良いですか? – excedion
必要に応じてコンポーネントを使用できます。私は私のアプリが大きくなる場合、コンポーネントを使用することを好む。 –
よかったです。ありがとうございました。私は今のところコンポーネントを避けるだろう。私はVue – excedion