1.通过axiox 向后台发起请求

在methods中添加方法

//获取所有的菜单
async getMenuList(){
   //向后台api发起请求
  const {data:res} = await this.$http.get('menus')
  //判断请求是否成功,如果不成功则弹出消息提示
  if (res.meta.status !== 200) return this.$message.error(res.meta.msg) ;
  // 将接收的数据,赋值给menulist列表
  this.menulist = res.data

 }

2.在data 中定义数组menulist [],实现数据的双向绑定。

data(){
  return{
    //将menulist[] 挂载,进行双向数据绑定。
    menulist:[]
  }
},

3.将数据渲染到前端导航菜单栏

注意:菜单的index 必须为特有值,如果相同则导致,点开一个菜单其他的菜单也将自动点开。

<el-submenu :index="item.id+''" v-for="item in menulist":key="item.id" >
  <!--一级菜单的模板区域-->
  <template slot="title">
    <!--图标-->
    <i class="el-icon-location"></i>
    <!-- 将一级菜单名取出-->
    <span>{{item.authName}}</span>
  </template>

  <!--二级菜单-->
  <!--通过内循环取出每组数据-->
  <el-menu-item :index="subItem.id+''" v-for="subItem in item.children" :key="subItem.id">
    <!--二级菜单的模板区域-->
    <template slot="title">
      <!--图标-->
      <i class="el-icon-location"></i>
      <!-- 将二级菜单名取出-->
      <span>{{ subItem.authName }}</span>
    </template>
  </el-menu-item>
</el-submenu>
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐