Vue函数式组件应用实例详解,如何深入掌握其核心用法和最佳实践?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1554个文字,预计阅读时间需要7分钟。
一、函数式组件和普通组件的区别- 渲染快,没有实例(没有this)- 没有生命周期(没有响应式数据)
二、组件函数的使用
1.以局部组件为例,将组件标记为functional=true;
因为函数式组件没有函数这个概念。一、函数式组件和普通组件的区别
- 渲染快
- 没有实例,意味着没有(this)
- 没有生命周期(没有响应式数据)
二、组件函数的使用
1.以局部组件为例,将组件标记为functional=ture;
因为函数式没有实例,因此组件需要的一切都是通过context参数传递,它是一个包括如下字段的对象:
props:提供所有 prop 的对象children: VNode 子节点的数组slots: 一个函数,返回了包含所有插槽的对象scopedSlots: (2.6.0+) 一个暴露传入的作用域插槽的对象。也以函数形式暴露普通插槽。data:传递给组件的整个数据对象,作为createElement的第二个参数传入组件parent:对父组件的引用listeners: (2.3.0+) 一个包含了所有父组件为当前组件注册的事件监听器的对象。这是data.on的一个别名。
本文共计1554个文字,预计阅读时间需要7分钟。
一、函数式组件和普通组件的区别- 渲染快,没有实例(没有this)- 没有生命周期(没有响应式数据)
二、组件函数的使用
1.以局部组件为例,将组件标记为functional=true;
因为函数式组件没有函数这个概念。一、函数式组件和普通组件的区别
- 渲染快
- 没有实例,意味着没有(this)
- 没有生命周期(没有响应式数据)
二、组件函数的使用
1.以局部组件为例,将组件标记为functional=ture;
因为函数式没有实例,因此组件需要的一切都是通过context参数传递,它是一个包括如下字段的对象:
props:提供所有 prop 的对象children: VNode 子节点的数组slots: 一个函数,返回了包含所有插槽的对象scopedSlots: (2.6.0+) 一个暴露传入的作用域插槽的对象。也以函数形式暴露普通插槽。data:传递给组件的整个数据对象,作为createElement的第二个参数传入组件parent:对父组件的引用listeners: (2.3.0+) 一个包含了所有父组件为当前组件注册的事件监听器的对象。这是data.on的一个别名。

