vue重点知识整理大全

本文主要介绍了Vue.js的重要概念和用法,包括计算属性、普通属性、方法、侦听属性的详细解析,以及父子组件间传值的深度总结。重点讨论了计算属性与方法的区别、watch和computed的异同,并探讨了数据类型检测和插槽的使用,特别是作用域插槽的概念和应用场景。此外,还提及了Vue组件的生命周期和不同数据类型的检测方法。
摘要由CSDN通过智能技术生成

vue=计算属性、普通属性、方法、侦听属性

https://www.yiem.net/archives/3756.html
https://www.cnblogs.com/8023-CHD/p/11166151.html

计算属性:自动监听依赖值的变化,从而动态返回内容。
由两部分组成:get和set,分别用来获取计算属性和设置计算属性。
默认只有get,如果需要set,要自己添加。另外set设置属性,并不是直接修改计算属性,而是修改它的依赖
特点
数据可以进行逻辑处理,减少模板中计算逻辑
对计算属性中的数据进行监视
依赖固定的数据类型(响应式数据)

计算属性还可以依赖多个Vue 实例的数据,只要其中任一数据变化,计算属性就会重新执行,视图也会更新。

计算属性还有两个很实用的小技巧容易被忽略:一是计算属性可以依赖其他计算属性; 二是计算属性不仅可以依赖当前Vue 实例的数据,还可以依赖其他实例的数据
计算属性是基于它们的依赖进行缓存的。计算属性只有在它的相关依赖发生改变时才会重新求值。

这就意味着只要 title还没有发生改变,多次访问 reverseTitle计算属性会立即返回之前的计算结果,而不必再次执行函数。

{ {reverseTitle()}}


// 在组件中
methods: {
reverseTitle: function () {
return this.title.split(’’).reverse().join(’’)
}
}

computed和methods

共同点:computed能现实的methods也能实现;

不同点:computed是基于它的依赖进行缓存的。computed只有在它的相关依赖发生变化才会重新计算求值。 而只要它的相关依赖没有发生变化,多次访问会立即返回之前的计算结果,而不必再次执行计算。相比之下,每当触发重新渲染时,调用方法将总会再次执行函数。也就是说当我们不希望有缓存,用方法来替代。

两者最主要的区别:computed 是可以缓存的,methods 不能缓存;只要相关依赖没有改变,多次访问计算属性得到的值是之前缓存的计算结果,就不会多次执行。网上有种说法就是方法可以传参,而计算属性不能,其实并不准确,计算属性可以通过闭包来实现传参:

:data=“closure(item, itemName, blablaParams)”
computed: {
closure () {
return function (a, b, c) {
/** do something */
return data
}
}
}

你可能已经注意到我们可以通过在表达式中调用方法来达到同样的效果,我们可以将同一函数定义为一个方法而不是一个计算属性。两种方式的最终结果确实是完全相同的。然而,不同的是计算属性是基于它们的依赖进行缓存的。计算属性只有在它的相关依赖发生改变时才会重新求值。这就意味着只要 message 还没有发生改变,多次访问 reversedMessage 计算属性会立即返回之前的计算结果,而不必再次执行函数。(缓存的效果)这也同样意味着下面的计算属性将不再更新,因为 Date.now() 不是响应式依赖:

相比之下,每当触发重新渲染时,调用方法将总会再次执行函数。

我们为什么需要缓存?假设我们有一个性能开销比较大的的计算属性 A,它需要遍历一个巨大的数组并做大量的计算。然后我们可能有其他的计算属性依赖于 A 。如果没有缓存,我们将不可避免的多次执行 A 的 getter!如果你不希望有缓存,请用方法来替代。

watch和computed
watch 和 computed 的区别, 在 vue 里, 这两个方法都能监听数据的变化, 不同的是 computed 是只能读取不能写入, 而 watch 可以读取也可以写入

侦听属性
Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属性watch。Watch中可以执行任何逻辑,如函数节流、Ajax异步

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值