关键代码片段
- 在Vue组件中引入Axios:
<script>
import axios from 'axios';
export default {
data() {
return {
dataList: []
};
},
methods: {
fetchData() {
axios.get('your-api-url')
.then(response => {
this.dataList = response.data;
})
.catch(error => {
console.error('Error fetching data: ', error);
});
}
},
mounted() {
this.fetchData();
}
};
</script>
- 在模板中展示数据:
<template>
<div>
<ul>
<li v-for="(item, index) in dataList" :key="index">{{ item }}</li>
</ul>
</div>
</template>
合适的生命周期钩子函数及原因
- 合适的生命周期钩子函数:
mounted
。
- 原因:
mounted
钩子函数在组件挂载到DOM后被调用,此时组件的模板已经被渲染到页面上。在这个钩子函数中发起Axios请求获取数据,可以确保数据获取后能及时更新到已经渲染好的页面上,避免因过早请求数据而导致数据更新时DOM还未准备好的问题。同时,相比于created
钩子函数,mounted
钩子函数可以操作DOM,若获取的数据展示需要一些DOM相关操作(如初始化图表库等),在mounted
中发起请求更为合适。