vue基于后台返回路由表动态加载左侧菜单

作为后端的CV工程师,此篇文章第一次写关于vue的文章,术业有专攻,倘若有前端开发者发现此篇文章有哪里不当之处,望君指出,不胜感激!

首先静态路由部分

import Vue from 'vue'
import Router from 'vue-router'
import Layout from '../layout'

Vue.use(Router)

var constantRouterMap=[
  {path: '/', name: 'Login',hidden:true, component: resolve => require(['@/views/Login'], resolve)},
  {
    path: '/index',
    name: 'Layout',
    component: Layout,
    redirect:'/home',
    children: [{
      path: '/home',
      name: 'Home',
      component: () => import('../views/Home'),
      meta: {
        title: '首页',
        icon: 'vue-dsn-icon-zhuye',
        fixed: true
      }
    }]
  },
  {
    path: '/chat',
    name: '聊天公告',
    component: Layout,
    hidden:true,
    redirect:'/chatmassage',
    children: [{
      path: '/chatmassage',
      name: 'chatmassage',
      component: () => import('../views/Chats/Chat'),
      meta: {
        title: '聊天公告'
      }
    }],
  }
];



export default new Router({
  model:'hash',
  routes: constantRouterMap
})

处理动态路由部分

const _import = require('../router/_import_' + process.env.NODE_ENV) //获取组件的方法
import { GetMenuList} from "@/utils/api&#
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 您好!如果您需要使用Vue根据后台返回的JSON数据生成动态列表,可以使用Vue的v-for指令结合数组方法,如下所示: 1.在Vue组件的data选项中定义一个数组用于存储JSON数据,例如: ``` data() { return { items: [] } } ``` 2.在Vue组件的mounted钩子函数中,使用axios或其他工具从后台获取JSON数据并将其存储在上述定义的数组中,例如: ``` mounted() { axios.get('/api/items').then(response => { this.items = response.data; }) } ``` 3.在Vue组件的模板中,使用v-for指令结合数组方法将JSON数据动态生成列表,例如: ``` <ul> <li v-for="item in items" :key="item.id">{{ item.name }}</li> </ul> ``` 在上述示例中,v-for指令用于遍历items数组,生成包含每个item对象的li元素,其中:key属性用于为每个列表项指定唯一的key值,以提高性能。 希望这能够帮助您! ### 回答2: Vue中可以根据后台返回的JSON动态生成列表。实现这个功能的关键是将后台返回的JSON数据以合适的格式绑定到Vue组件中的数据属性,然后使用循环指令(v-for)来遍历这个数据属性,生成相应的列表。 具体来说,可以按照以下步骤实现动态生成列表的功能: 1. 在Vue组件中定义一个data属性,用于存储后台返回的JSON数据。例如,可以定义一个名为"listData"的数组属性。 2. 在Vue的生命周期钩子函数中,使用异步请求(如axios、fetch等)从后台获取JSON数据,并将返回的数据赋值给"listData"属性。例如,在created钩子函数中可以使用axios发送异步请求,并在请求成功后将返回的JSON数据赋值给"listData"属性。 3. 在Vue组件的模板中,使用v-for指令遍历"listData"属性,生成相应的列表项。例如,可以使用如下代码片段遍历"listData"属性并生成一个无序列表: ``` <ul> <li v-for="item in listData">{{ item }}</li> </ul> ``` 上述代码中,v-for指令会遍历"listData"属性中的每个元素,依次生成相应的<li>元素。其中,"item"是一个临时变量,表示当前遍历的元素。 4. 最后,在Vue组件中进行渲染,即将组件实例挂载到DOM元素上,这样就能够看到动态生成的列表了。 综上所述,通过将后台返回的JSON数据绑定到Vue组件的数据属性中,并使用v-for指令遍历这个数据属性,就能够动态生成列表了。只需在适当的生命周期钩子函数中获取后台数据并赋值给数据属性,然后在模板中使用v-for指令生成相应的列表项即可。 ### 回答3: 在Vue中,我们可以根据后台返回的JSON数据动态生成列表。首先,我们需要通过Vue的数据绑定将后台返回的JSON数据存储在Vue实例的data属性中。假设后台返回的JSON数据包含一个数组,每个数组元素代表一个列表项,如下所示: ```javascript data: { items: [] // 存储后台返回的JSON数据 } ``` 接下来,我们可以使用Vue的v-for指令来遍历items数组,并将每个数组元素渲染为具体的列表项。在模板中,我们可以使用类似下面的代码来生成列表: ```html <ul> <li v-for="item in items" :key="item.id">{{ item.name }}</li> </ul> ``` 上面的代码中,v-for="item in items"表示遍历items数组,将每个数组元素赋值给变量item;:key="item.id"用于给每个列表项指定一个唯一的键,以优化列表渲染;{{ item.name }}表示渲染item对象中的name属性值。 当后台返回的JSON数据改变时,Vue会自动检测到data属性的变化并重新渲染列表,从而实现动态生成列表的效果。 除了简单的列表渲染外,我们还可以根据需要对列表进行排序、过滤等操作。Vue提供了强大的计算属性和过滤器来帮助我们实现这些功能。 总结起来,我们只需要使用Vue的数据绑定和v-for指令,就可以轻松地根据后台返回的JSON数据动态生成列表。这使得前端开发变得更加简单和高效。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值