zoukankan      html  css  js  c++  java
  • vue、element-ui 依权限动态导航 v-for、v-if

    在管理后台需要按用户权限展示不同导航菜单时,我们需要从后端请求数据来进行菜单渲染。

    但由于v-for与v-if不能在同一标签内使用(存在性能问题:v-for 具有比 v-if 更高的优先级,意味着 v-if 将分别重复运行于每个 v-for 循环中),所以我们需要将其分别放在不同标签内,v-for放在父级,v-if放在子级。

    同时,由于使用实体实体标签作为v-for载体,将会影响el-menu的list结构,因此,我们将v-for放在template标签中。

    代码如下(以三级菜单为例):

    html

      <el-menu>
          <div class="side-bar-title">后台管理</div>
          <template v-for="menu_0 in menuData">
            <el-submenu v-if="menu_0.childMenu" :index="menu_0.id" :key="menu_0.id">
              <template slot="title">{{menu_0.name}}</template>
              <template v-for="menu_1 in menu_0.childMenu">
                <el-submenu v-if="menu_1.childMenu" :index="menu_1.id" :key="menu_1.id">
                  <template slot="title">{{menu_1.name}}</template>
                  <template v-for="menu_2 in menu_1.childMenu">
                    <el-menu-item :index="menu_2.url" :key="menu_2.id">{{menu_2.name}}</el-menu-item>
                  </template>
                </el-submenu>
                <el-menu-item v-else :index="menu_1.url" :key="menu_1.id">{{menu_1.name}}</el-menu-item>
              </template>
            </el-submenu>
            <el-menu-item v-else :index="menu_0.url" :key="menu_0.id">{{menu_0.name}}</el-menu-item>
          </template>
       </el-menu>

    js

    export default {
      data () {
        return {
          menuData: [
          {
    name:
    "一级导航-1",      id: "1", parentId: 0,      url: "comment1", childMenu:[ {        id: "3",        name: "二级导航",        parentId: 1,        url: "comment3",        childMenu:[         {          id: "4",          name: "三级导航",          parentId: 3,          url: "comment4"         }]       }],
         },{       id:
    "2"       name: "一级导航-2"       parentId: 0       url: "comment2"      }]    } } }
  • 相关阅读:
    nginx.conf 配置解析之 http配置
    nginx.conf 配置解析之 events配置
    nginx.conf 配置解析之 全局配置
    nginx.conf 配置解析之文件结构
    centos7 编译安装nginx1.16.0( 完整版 )
    SQL注入是什么?如何防止?
    数据库的脏读、不可重复读、幻读以及不可重复读和幻读的区别
    唯一索引与主键索引的比较
    分布式session的几种实现方式
    反向代理和负载均衡
  • 原文地址:https://www.cnblogs.com/tdxl/p/14374278.html
Copyright © 2011-2022 走看看