Vue框架是一種非常流行的前端框架,其提供了一種在前端界面與數據之間進行更加簡潔的交互方式。Vue框架在數據獲取與展示上有著非常出色的表現。然而,實現一個業務功能的表格是開發中必不可少的組件,而如何通過Vue框架獲取和展示數據,并在用戶的操作下進行一些交互,則是許多前端開發者需要面對的問題。
Vue框架提供了兩種方式來獲取后臺數據,一種是利用Vue-resource發起Ajax請求,另一種是通過Axios實現Restful風格的Api調用。我們這里以Vue-resource方式為例進行講解。下面是一段vue-resource的代碼:
Vue.use(VueResource);
Vue.http.options.root = 'http://localhost:9000/';
Vue.http.headers.common['Authorization'] = 'Bearer ' + token;
new Vue({
el:"#app",
data: {
gridData: []
},
mounted() {
this.getData();
},
methods: {
getData(){
this.$http.get('api/users').then((response) =>{
this.gridData = response.data;
}, (response) =>{
console.log('Error:', JSON.stringify(response));
});
}
}
});
在上述代碼中,我們首先引入Vue-resource,在created函數中設置http的基本屬性,然后在mounted函數中調用getData函數,該函數通過$http.get請求獲取后臺數據,并將數據賦值給gridData。這時,我們就可以在vue模板中使用v-for指令來遍歷gridData,將數據展示出來了。下面是一段基本的vue模板代碼:
{{ g.id }} {{ g.name }}
數據獲取基本完成后,我們還需要考慮一些用戶操作的交互。 Vue框架提供了一系列的指令,其中,對于表格,最常用到的是v-on指令和v-model指令,前者用來綁定事件,后者用于綁定表單和表格中的數據。下面是一個例子:
{{item.id}} {{item.name}} methods: {
submit(item) {
this.$http.put('api/lists/' + item.id, item)
.then(function (response) {
alert('Success!');
}, function (error) {
alert('Error!');
});
}
}
在上面這段代碼中,我們通過v-for指令展示出列表,并將列表中的數據綁定到v-model中。當用戶對v-model的數據進行修改并點擊submit按鈕時,會調用submit函數,并向后臺提交修改后的數據。submit函數中,我們通過$http.put方法來實現數據的更新。注意,在實際應用中,我們應該把$http封裝起來,以便于擴展和修改http請求庫。