vue中的is方法

1、is扩展html标签的默认限制

/* 正常情况下,ul下面嵌套的必须是li,这是html的固定写法 */
<ul>
    <li></li>
    <li></li>
</ul>

/* 在vue中有时会把li单独拿出来做成一个组件 */

<ul>
    <my-item></my-item>
</ul>

/* 上面这种写法在渲染时会默认无效内容,也许会报错,这时就用到is,在is里面写组件名 */
<ul>
  <li is='my-item'></li>
</ul>

2、is 切换不同的组件

/* 这是element-ui的NavMenu 导航菜单,可展开的用到el-submenu,只有一个层级的用el-menu-item,这时通过is判断需要用哪个组件就很方便 */

<template>
    <el-menu
      class="el-menu-vertical-demo"
      v-for="(item,index) in leftMenu.navList" :key="index">
      <component class="menu-item"
            :is="(item.children&&item.children.length > 0)?'el-submenu':'el-menu-item'">
          <template #title>
            <i class="left_nav_icon"><img :src="item.icon"/></i>
            <span>考试管理</span>
          </template>
          <template v-if="item.children&&item.children.length>0">
            <el-menu-item  v-for="(v,i) in item.children" :key="v.url+i" :index="v.url">
              <i class="left_sub_nav_icon"></i>
              <span>{{v.title}}</span>
            </el-menu-item>
          </template>
      </component>
    </el-menu>
</template>

<script>
  export default {
    name: 'left-nav',
    data() {
      return {
        leftMenu: {
          isCollapse: false,
          navList: [{
            icon: 'http://qiuyouh5.tp.lcweb01.cn/images/yoga.png',
            title: '首页',
            url: '/OrderManage'
          }, {
            icon: 'http://qiuyouh5.tp.lcweb01.cn/images/yoga1.png',
            title: '考试管理',
            url: '/ProductManage',
            children: [{
              title: '级段位考试管理1',
              url: '/StoreProfile'
            }, {
              title: '级段位考试管理2',
              url: '/BannerPicture'
            }, {
              title: '级段位考试管理3',
              url: '/TableManage'
            }]
          }, {
            icon: 'http://qiuyouh5.tp.lcweb01.cn/images/yoga2.png',
            title: '考生管理',
            url: 'suibianxie',
          }, {
            icon: 'http://qiuyouh5.tp.lcweb01.cn/images/yoga3.png',
            title: '赛事管理',
            url: '/AccountManage'
          }, {
            icon: 'http://qiuyouh5.tp.lcweb01.cn/images/yoga4.png',
            title: '证书管理',
            url: '/PersonProfile'
          }]
        }
      }
    }
  }
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值