函数式组件是无状态的,无法实例化,没有任何的生命周期和方法。创建函数式组件也很简单,只需要在模板添加functional声明即可。一般适合只依赖外部数据的变化而变化的组件,因其轻量,渲染性能也会有所提高。
组件需要得一切都是通过context参书传递。它是一个上下文对象。这里的props是一个包含所有绑定属性的对象。
函数式组件定义:
<template functional>
<div class="list">
<div class="item" v-for="item in props.list" :key="item.id" @click="props.itemClick(item)">
<p>{
{item.title}}</p>
<p>{
{item.content}}</p>
</div>
</div>
</template>
在父组件使用:
<template>
<div>
<List :list="list" :itemClick="item => (currentItem = item)"