环境:vue3
问题:Axios从数据库获得的数据渲染不到页面上。数据能从数据库获取成功,然后将他的数据赋给一个ref定义的数据classList,在then中输出classList能输出数据,在页面中输出就显示为空
1、输出response和classList
2、页面的显示,classList显示为空
具体代码
//Class.vue
<template>
<h1>{{ classList }}</h1>
<el-table :data="classList" style="width: 100%">
<el-table-column prop="classId" label="班级编号" width="180" />
<el-table-column prop="className" label="班级名称" width="180" />
<el-table-column prop="classStudentNumber" label="班级人数" />
</el-table>
</template>
<script>
import axios from 'axios'
import { onMounted, reactive} from 'vue'
import {useRoute} from 'vue-router'
export default{
name:'Class',
setup(){
const route = useRoute()
// console.log(route.params.departmentId)//正确接收了参数
let classList = reactive([])
onMounted(() => {
axios.get('http://localhost:8082/class', {
params: {
departmentId: route.params.departmentId
}
})
.then(function(response){
console.log(response) //输出见图1
classList=response.data
console.log(classList) //输出见图1
})
.catch(function(error){
console.log("错误信息:"+error);
});
})
return{
classList
}
}
}
</script>