玩转Vue的8个小技巧,一看就会

开发 前端
在需要操纵数据时,将key属性与v-for指令一起使用可以让程序保持恒定且可预测是很有必要的。

1. 始终在 `v-for` 中使用 `:key`

在需要操纵数据时,将key属性与v-for指令一起使用可以让程序保持恒定且可预测是很有必要的。这样Vue就可以跟踪组件状态,并对不同的元素有一个常量引用。在使用动画或Vue转换时,如果没有key ,Vue只会尝试使DOM尽可能高效。这或许会导致v-for中的元素出现乱序,或行为难以预测。如果我们对每个元素都有唯一的键引用,就能更好地预测Vue应用程序将如何精确地处理DOM操作。

2. 使用驼峰式声明 props,并在模板中使用短横线命名来访问 props

最佳做法只是遵循每种语言的约定。在 JS 中,驼峰式声明是标准,在HTML中,是短横线命名。Vue 已经提供了驼峰式声明和短横线命名之间转换,所以除了实际声明它们之外,我们不用担心任何事情。

3. 在事件中使用短横线命名

在发出定制事件时,最好使用短横线命名,这是因为在父组件中,我们使用相同的语法来侦听该事件。所以为了确保我们各组件之间的一致性,让你的代码更具可读性,请在两个地方都坚持使用短横线命名。

4. 函数式组件

函数式组件是无状态,它无法实例化,没有任何的生命周期和方法。创建函数式组件也很简单,只需要在模板添加 functional 声明即可。一般适合只依赖于外部数据的变化而变化的组件,因其轻量,渲染性能也会有所提高。组件需要的一切都是通过 context 参数传递。它是一个上下文对象,具体属性查看文档。这里 props 是一个包含所有绑定属性的对象。

5. 重用相同路由的组件

开发小伙伴们常常会遇到多个路由解析为同一个Vue组件的情况。问题是,Vue出于性能原因,默认情况下共享组件将不会重新渲染,如果你尝试在使用相同组件的路由之间进行切换,则不会发生任何变化。如果你依然希望重新渲染这些组件,就可以通过在 router-view 组件中提供 :key 属性来实现。

6. $createElement

一般情况下,每个Vue实例都可以访问 $createElement 方法来创建和返回虚拟节点。例如,可以利用它在可以通过v-html指令传递的方法中使用标记。在函数组件中,可以将此方法作为渲染函数中的第一个参数进行访问。

7. 使用JSX

由于Vue CLI 3默认支持使用JSX,因此现在你可以使用JSX编写代码。如果尚未使用Vue CLI 3,则可以使用 babel-plugin-transform-vue-jsx 获得JSX支持。

8. 作用域插槽实现 UI 和业务逻辑的分离

我们常常会想复用一个组件的业务逻辑,但是不想使用该组件的 UI时,可以使用作用域插槽实现 UI 和业务逻辑的分离。作用域插槽大致的思路是将 DOM 结构交给调用方去决定,组件内部只关注业务逻辑,最后将数据和事件等通过 :item ="item" 的方式传递给父组件去处理和调用,实现 UI 和业务逻辑的分离。再结合渲染函数,就可以实现无渲染组件的效果。

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2022-03-21 21:05:40

TypeScript语言API

2021-01-08 17:18:35

前端vuevue.js

2022-04-27 20:52:48

JSChrome元素

2016-12-20 18:44:22

2019-08-08 16:30:23

技术编程SpringBoot

2021-06-01 06:01:35

SSO单点登录

2020-09-15 12:40:16

回溯算法代码回溯法

2010-09-06 10:15:11

DB2打补丁

2016-12-27 10:29:38

程序IT周刊

2021-10-04 15:34:47

智能手机功能老年人

2021-09-30 22:51:39

手机技能老年人

2021-02-07 11:13:20

Windows 10Windows 10X微软

2020-09-26 21:50:26

JavaScript代码开发

2021-05-07 16:02:54

Python代码优化

2021-06-16 10:50:16

Python代码优化

2010-01-27 13:54:52

IT电影

2020-12-24 09:18:51

SQL数据库函数

2011-05-04 10:01:04

2021-09-06 10:25:27

Python代码优化

2012-07-24 09:29:33

黑帽大会
点赞
收藏

51CTO技术栈公众号