查看其他人写的组件代码的时候经常会发现使用了name属性,今天来把name属性的经常使用的场景归纳一下

1.组件自身调用,递归组件

当在组件中需要调用自身的时候,可以通过name属性来使用

2.使用vue-tools工具时的组件名称

当使用调式工具时,组件的名称是通过name属性来设置的

3.移除keep-alive状态下组件自动缓存功能

我们知道,在组件外使用了keep-alive导致我们第二次进入的时候页面不会重新请求ajax,即mounted() 钩子函数只会执行一次
解决的办法一个增加activated()函数,每次进入新页面的时候再获取一次数据(此处可以了解一下keep-alive状态下的activated()函数和deactivated()函数)
另外一个办法就是keep-alive中增加 exclud=“name”,移除选中页面的缓存

<keep-alive exclude="name">
  <router-view />
</keep-alive>

需要特别注意的是:

name的使用过程中报错
[Vue warn]: Do not use built-in or reserved HTML elements as component id: ****
解决办法:
在component里面注册组件的时候避免用html已有的标签来接收组件;

import header from '@/components/header/header';
export default{
  components: {
    'header': header
  }
};
Logo

前往低代码交流专区

更多推荐