vue组件自调用

组件自调用

在vue中有些情况下我们会用到组件本身来遍历出自己想要的效果。

其实非常简单,可以在模板中使用name属性值,来调用自己

<template>
  <el-submenu v-if="item.children && item.children.length" :index="item.name" v-auth="item.authority">
    <template slot="title"><i :class="item.icon" style="color: #ffffff"></i><span>{{ item.label }}</span></template>
    <XnMenuItem v-for="child in item.children" :key="child.name" :item="child"></XnMenuItem>
  </el-submenu>
  <el-menu-item v-else :index="item.name" @click="jumpTo(item)" v-auth="item.authority"><i :class="item.icon"></i><span slot="title">{{ item.label }}</span></el-menu-item>
</template>

<script>
export default {
  name:'XnMenuItem',
  props: {
    item: {
      type: Object,
      default: () => ({})
    }
  },
  data() {
    return {}
  },
  methods: {
    jumpTo(data) {
      this.$router.push({ name: data.name })
    },
  },
}
</script>


posted @ 2022-08-01 14:41  Simon9527  阅读(1064)  评论(0编辑  收藏  举报