vue中 computed 与 watch 、 created 与 mounted 彼此的关联与顺序

首先,来认识一下他们的一个基本写法长啥样,直接看下面这个demo:

<template>
    <div>
        <p> {{ firstNum }} </p>
        <p> {{ secondNum }} </p>
        <p> {{ thirdNum }} </p>
    </div>
</template>

<script>

export default {
    computed: {
        secondNum() {
            // firstNum 从一开始就与之绑定关联
            console.log('secondNum is computing: ' + this.firstNum * 100)
            return this.firstNum * 100
        }
    },
    data() {
        return {
            firstNum: 0,
            thirdNum: 0
        }
    },
    watch: {
        firstNum(val) {
            // firstNum 只有在发生改变时,才会进入该逻辑
            console.log('firstNum is watched: ' + val)
            this.thirdNum = val * 100
        }
    },
    created() {
        // 该步骤在 data() 数据实例化之前。
        // 此时改变 data() 中的数据是不会触发 change 事件的,无法进入 watch 代码部分。
        this.firstNum = 1
    },
    mounted() {
        // 该步骤在 data 数据实例化之后。
        // 此时改变 data 中的数据是会触发 change 事件的,也就能被 watch 到。
        this.firstNum = 2
    }
}
</script>

将这个demo页面植入你项目中某个界面去运行感受一下,输出结果如下:

页面显示值:

控制台输出结果:

由此可见,本轮的执行顺序是这样的:

created ->  computed -> mounted -> watch -> computed

而 watch 与 computed 的区别,最关键的是watch需要监听值的变化而改变,但是computed从一开始就可以达到和某个值关联起来。

注:本文仅笔者自己比较困惑的点展开解释,更多更全面的介绍与区别请自行百度。

Vue.js 是一款流行的 JavaScript 框架,它提供了很多功能和选项,以便我们在前端开发更加高效地工作。其vue watch created computed mountedVue 实例的生命周期最重要的几个钩子函数,它们分别承载着 Vue 实例生命周期不同的任务,下面就一一介绍。 首先是 Vue 实例的 created 钩子函数。这个钩子函数会在 Vue 实例创建完成后立即执行,但此时 DOM 元素还未挂载到页面。在 created 钩子函数,我们可以进行一些数据的初始化、事件的监听以及异步请求数据的操作等。 其次是 Vue 实例的 mounted 钩子函数。这个钩子函数会在 Vue 实例挂载到页面后执行,在 mounted 钩子函数我们可以访问到 DOM 元素,进一步操作 DOM 元素或者执行异步操作。同时,mounted 也是与第三方库集成的最佳时机,例如第三方图表库、地图库等。 另外一个重要的钩子函数是 computedcomputed 计算属性可以根据实例的数据变化自动计算出最新的数据。与 vue watch 不同,computed 计算属性一般用于声明式依赖关系,也就是当计算属性所依赖的数据发生变化时,它们会自动重新计算,无需考虑如何手动重新计算。 最后一个重要钩子函数是 vue watchvue watch 用于观察 Vue 实例的属性值的变化。它包括了两个参数:第一个参数是需要观察的属性名,第二个参数是观察到属性值变化后需要做的处理函数。观察的属性值变化可以是数据、计算属性以及某个具体的 DOM 元素的变化。 总之,vue watch created computed mountedVue.js 非常常见的几个生命周期钩子函数,它们分别承载着不同的任务。在使用 Vue.js 时,了解这些生命周期钩子函数的作用和执行顺序是十分必要的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端开发黑子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值