小知识:vue中的name的作用

2,307 阅读1分钟

官方文档解释

image.png

说的太简洁,以至于很多人还不是很理解这句话的含义,其实看到这句话我也是半懂半懵

还好在某视频中,老师实例解释name的含义,终于基本懂了

1.递归组件运用(指组件自身组件调用自身组件)

  <article>
    <div class="item" v-for="(item,index) in list" :key="index">
      <div class="item-title">
        <span class="item-title-ticket"></span>
        {{item.title}}</div>
        <div v-if="item.children" class="item-children">
        <detail-list :list="item.children"></detail-list>
      </div>
    </div>
  </article>
</template>
<script>
export default {
  name: "DetailList",  /*指组件自身组件调用自身组件*/
  props: {
    list: Array
  },
  data() {
    return {};
  }
};
</script>

2. keep-alive包裹动态组件时,会缓存不活动的组件实例,会出现include和exclude属性,包含或者排除指定name组件

<div id="app"> 
   <keep-alive exclude="compA">
      <router-view/>
   </keep-alive>
</div>

exclude="compA"   keep-alive属性对compA组件不生效

3.vue-tools插件调试

  • 组件未定义name属性
  • 组件将显示成,这很没有语义。
  • 通过提供name选项,可以获得更有语义信息的组件树。