vue的函数式组件
-
定义
其实就是一个接受一些prop的函数,然后返回HTML,它没有响应数据,也不需要任何生命周期的场景,它只是接受一些props来显示组件 -
特点
没有任何管理状态,也就是没有响应式数据
没有生命周期
没有实例,也就是没有this上下文 -
基础写法
-
包含的属性
props:提供所有 prop 的对象
children:VNode 子节点的数组
slots:一个函数,返回了包含所有插槽的对象
scopedSlots:(2.6.0+) 一个暴露传入的作用域插槽的对象。也以函数形式暴露普通插槽。
data:传递给组件的整个数据对象,作为 createElement 的第二个参数传入组件
parent:对父组件的引用
listeners:(2.3.0+) 一个包含了所有父组件为当前组件注册的事件监听器的对象。 这是 data.on 的一个别名。
i njections:(2.3.0+) 如果使用了 inject 选项,则该对象包含了应当被注入的 property。 -
使用场景
一个简单的展示组件
“高阶组件”----用于接受一个组件作为参数,返回一个被包装的组件
v-for循环中的每项通常都是很好的候选项