函数式组件是无状态,他无法实例化,没有任何的生命周期和方法,创建函数式组件也很简单,只需要在模板添加’functional’声明即可。一般适合只依赖于外部函数的变化而变化的组件,因其轻量,渲染性能也会有所提高。
组件需要的一切都是通过’context’参数传递。他是一个上下文对象,具体属性查看文档。这里’props’是一个包含所有绑定属性的对象。
函数式组件:
<!-- List.vue --><template><div class="list"><divclass="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)" /></div></template><script>import List from '@/components/List.vue'export default {component: {List,},data() {return {List: [{title: 'title1',content: 'content1',},],currentItem: '',}},}</script>
