vue的函数式组件是一个不包含状态和实例的组件;该组件不支持响应式,并且不能通过this关键字引用,用于定义没有响应数据,也不需要有任何生命周期的场景,只接受一些props来显示组件。函数式组件(不要与vue的render函数混淆)是一个不包含状态和实例的组件。
优点:非常轻量,因而渲染性能高,特别适合用来只依赖外部数据传递而变化的组件。
写法:
在template标签中标明functional;只接受props值;不需要script标签
<!-- 函数式组件 -->
<template functional>
<div>
<div>
{{ props.items }}
</div>
</div>
</template>
使用组件
<template>
<div>
<div v-for="(item,index) in list" :key="index" class="list">
<ListItem :item="item" @click="detail(item)" />
</div>
</div>
</template>
<script>
import ListItem from "./ListItem";
export default {
components: { ListItem },
data(){
return {
list:[]
}
},
methods:{
detail(item){
}
}
};
</script>