千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Vueonload事件用法介绍

Vueonload事件用法介绍

来源:千锋教育
发布人:xqq
时间: 2023-11-24 07:33:18 1700782398

一、Vueonload事件概述

Vueonload事件是Vue.js中重要的生命周期事件之一,它在组件实例初始化后立即被触发。因为这个事件是组件生命周期中的第一个事件,所以它可以在组件加载完成后执行一些必要的初始化操作。

在Vue.js中,组件的生命周期总共分为八个阶段,从创建组件开始到销毁组件结束,Vue为不同阶段提供了很多的生命周期函数,而Vueonload事件就是其中一个。


export default {
    name: 'my-comp',
    data () {
        return {
            msg: "Hello Vue.js!"
        }
    },
    onLoad () {
        console.log("组件加载完成");
    }
}

二、Vueonload事件执行时间

Vueonload事件会在组件被加载完成后执行。这里的“加载完成”指的是组件的DOM元素被插入到页面中,而不是数据的加载。

Vueonload事件的执行时间,因为涉及到数据的加载需要一定的时间,为了确保能够在数据加载完成后再执行初始化操作,Vue提供了一种异步级别的Vue.onMount()函数来保证Vueonload事件的执行。


export default {
    name: 'my-comp',
    data () {
        return {
            msg: "Hello Vue.js!"
        }
    },
    async onMount () {
        // 异步操作,例如发送请求或者进行DOM操作
        const res = await fetch('https://api.github.com/users/defunkt');
        const json = await res.json();
        console.log(json);
        console.log("组件加载完成");
    }
}

三、Vueonload事件的作用

Vueonload事件可以用来进行组件的初始化设置,例如设置默认数据或者绑定某些事件。在首次渲染组件时,Vueonload事件会优先于其他事件执行,从而确保在需要时设置组件的默认状态。


export default {
    name: 'my-comp',
    data () {
        return {
            msg: "Hello Vue.js!"
        }
    },
    onLoad () {
        this.$set(this, 'msg', "Hello World!");
        console.log("组件加载完成");
    }
}

上面的代码中,我们在Vueonload事件中使用了$set()方法来设置msg的默认值。这样可以确保在组件显示时,msg的值已经被正确地初始化。

四、Vueonload事件与其他事件的比较

Vue.onMounted()和Vueonload事件都是用来表示组件渲染完成的事件,它们非常相似并且通常是一起使用的。Vue.onMounted()用于在组件渲染完成后执行一些异步操作或者绑定一些事件。而Vueonload事件则更适合用来进行组件的初始化设置。

需要注意的是,在Vue2.x版本中,Vueonload事件的名称是mounted,而在Vue3.x版本中,Vueonload事件的名称被修改为onMount。

五、总结

在Vue.js中,Vueonload事件是非常重要的生命周期事件之一,它用于表示组件的初始化完成。Vue.onMounted()和Vueonload事件都可以用来表示组件的渲染完成,但是它们的适用场景不同。Vue.onMounted()更适合用于异步操作和事件绑定,而Vueonload事件则更适合用于组件的初始化设置。


export default {
    name: 'my-comp',
    data () {
        return {
            msg: "Hello Vue.js!"
        }
    },
    onMounted () {
        console.log("组件渲染完成");
    }
}
export default {
    name: 'my-comp',
    data () {
        return {
            msg: "Hello Vue.js!"
        }
    },
    async onMount () {
        const res = await fetch('https://api.github.com/users/defunkt');
        const json = await res.json();
        console.log(json);
        console.log("组件加载完成");
    }
}

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT