vue项目中name的作用是什么?什么时候一定要用到?什么时候可以不用写name?

vue项目中name的作用是什么?什么时候一定要用到?什么时候可以不用写name?

如题:
vue项目中name的作用是什么?什么时候一定要用到?什么时候可以不用写name?

这个东西:

 export default {

name:'xxx'

}


回答:

最常见的就是keep-alive里面用的最多


回答:

name 属性的作用主要有两点:

第一点:允许组件在模版 <template> 中递归调用自身,如果没有具体名字时将无法在模版中做到这一点;

第二点:为 vue-devtools 提供更友好的调试体验,具有名字的组件将获得更友好的各种开发提示。

不过现在 SFC (单文件组件) 做了很多的优化,在常规的开发环境下,是可以通过 文件名 来推断组件名字的,因此在组件名与文件名一致的时候,绝大部分情况是不需要显示定义 name 属性的。


回答:

1.用来递归,一般用于 tree

// Foo.vue

<template>

<div>

<Foo/>

</div>

<template/>

export default {

name:'Foo'

}

2.用来找到这个组件
一般用于一些 UI 框架封装,如 找子组件

export function findComponent(context, componentName) {

const childrens = context.$children;

let children = null;

if (childrens.length) {

for (const child of childrens) {

const name = child.$options.name;

if (name === componentName) {

children = child;

break;

} else {

children = findComponentDownward(child, componentName);

if (children) break;

}

}

}

return children;

}

3.用于内置组件 keep-alive include/exclude 的配置

// 缓存以 Foo、bar 命名的组件

<keep-alive include="Foo,Bar">

<component :is="xxx"></component>

</keep-alive>

4.用于 vue-devtools 调试工具方便定位

没有定义 name 的组件,会被识别为 <Anonymous component>(匿名组件)。

以上是 vue项目中name的作用是什么?什么时候一定要用到?什么时候可以不用写name? 的全部内容, 来源链接: utcz.com/p/936562.html

回到顶部