Vue函数式组件的应用

1|0函数组件和普通组件区别

  1. 渲染快
  2. 没有实例,意味着没有(this)
  3. 没有生命周期(没有响应式数据)

2|0组件函数的使用


2|1以局部组件为例,将组件标记为 functional=ture;


因为函数式没有实例,因此组件需要的一切都是通过 context 参数传递,它是一个包括如下字段的对象:

在添加 functional: true 之后,需要更新我们的锚点标题组件的渲染函数,为其增加 context参数,并将 this.$slots.default 更新为 context.children,然后将 this.level 更新为 context.props.level

因为函数式组件只是函数,所以渲染开销也低很多。

在作为包装组件时它们也同样非常有用。比如,当你需要做这些时: