Vue后端向前端发送数据,无法赋值

后端向前端传数据,前端可以得到数据,但是无法将得到的数据赋值到menuList1和menuList2中怎么解决?

export default {
  data() {
    return {
      // 左侧菜单数据
      // 一级菜单
      menuList1: [],
      // 二级菜单
      menuList2: [],
    }
  },
  // 定义生命周期函数
  created() {
    this.getMeunList()
  },
  methods: {
    logout() {
      window.sessionStorage.clear()
      this.$router.push('/login')
    },
    // 获得所有的左侧菜单
    async getMeunList() {
      const res = await this.$http.get(this.hd+'/selectList1')
      const { data: res1 } = await this.$http.get(this.hd + '/selectList1')
      const { data: res2 } = await this.$http.get(this.hd + '/selectList2')
      console.log(res)
      console.log(res1)
      console.log(res2)
      this.menuList1 = res1.list
      console.log("一级菜单"+this.menuList1)
      this.$set.menuList2 = res2.list
      console.log("二级菜单"+this.menuList2)
    },
  },
}

​​​​​​​​​​​​​​

看你打印的res1本身就是数组了,为什么还要用res1.list,去掉list试试???

res1没有list,你用res1.list肯定是undefined,直接用this.menuList1 = res1

this.menuList1 = res1

this.menuList2 = res2

就可以了哦

我也奇怪为什么要res1.list,直接res1就好啦

是不是因为异步的问题,你试一下 在success里面赋值

$http.get()..success(function(response, status, headers, config){ 

console.log(response.data);

}) 

不应该是this.menuList1 = res1吗?     为什么是this.menuList1 = res1.list