IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue生命周期 -> 正文阅读

[JavaScript知识库]Vue生命周期

生命周期:

? ? ? ? ? ? 1.又称为:生命周期回调函数,生命周期函数,生命周期钩子

? ? ? ? ? ? 2.Vue在关键时刻帮我们调用的一些特殊名称的函数

? ? ? ? ? ? 3.生命周期函数的名字不可更改,但是具体的内容更具需要修改

? ? ? ? ? ? 4.生命周期函数中的this指向的是vm或者组件实例对象

下面是原理图?

?

<div id="root" :x="n">
        <h2 v-text="n"></h2>
        <h2>当前的n值是:{{n}}</h2>
        <button @click="add">点我n+1</button>
        <button @click="bye">点我销毁vm</button>
</div>

这里解释了每个生命周期函数需要做的事情!!!

<script type="text/javascript">
    Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。

    new Vue({
        // (二三之间)
        // 判断有没有el属性,如果没有则当vm.$mount(el)时再执行,两个都没有就报错了
        el: '#root',
        // 若果有el属性,在进行判断有咩有template这个属性,如果没有template这个属性,则el指定的容器都作为模板,如果有template则用它作为模板
        // 这一阶段Vue开始解析模板,生成虚拟DOM(内存中),页面还不能显示分析好的内容
        // template:`
        // 	<div>
        // 		<h2>当前的n值是:{{n}}</h2>
        // 		<button @click="add">点我n+1</button>
        // 	</div>
        // `,
        data: {
            n: 1
        },
        methods: {
            add() {
                console.log('调用了add')
                this.n++
            },
            bye() {
                console.log('bye')
                // 自定义事件销毁,原生DOM不会消失
                this.$destroy()
            }
        },
        watch: {
            n() {
                console.log('n被改变了')
            }
        },
        // (一)
        // 生命周期函数中this都是vm或者实例化对象
        // 在数据监测和数据代理创建之前
        // 此时:无法通过vm访问到data中数据methods中的方法
        beforeCreate() {
            console.log('beforeCreate')
        },
        // (二)
        // 在数据监测和数据代理创建完成
        // 此时:可以通过vm访问到data中数据methods中配置的方法
        created() {
            console.log('created')
        },
        // (三)
        // 挂载之前:
        // 1.页面呈现的是未经Vue编译的DOM结构 
        // 2.所有对DOM的操作最终都不奏效
        beforeMount() {
            console.log('beforeMount')
        },
        // 三和四之间,将内存中的虚拟DOM转为真实DOM
        // (四)
        // 挂载完成
        // 1.此时页面所呈现的都是经过Vue编译的DOM。
        // 2.对DOM的操作均有效(但是不建议此时修改)至此初始化过程结束
        // 一般此时进行:开启定时器,发送网络请求,订阅消息,绑定自定义事件,等初始化操作
        mounted() {
            console.log('mounted')
        },
        // (五)
        // 此时:数据是新的,但是页面是旧的   即:页面尚未与数据保持同步(面试常问题!!!)
        beforeUpdate() {
            console.log('beforeUpdate')
        },
        // 根据新数据,生成新的虚拟DOM,随后与旧的DOM及进行比较,最终完成页面更新,即:完成了Model=>View的更新
        // (六)
        // 此时:数据是新的,但是页面是新的   即:页面与数据保持同步
        updated() {
            console.log('updated')
        },
        // (七)
        // 此时:vm中所有的:data,methods,指令等等,都处于可用状态马上要执行销毁过程
        // 一般在此阶段:关闭定时器,取消订阅消息,解绑自定义事件等收尾操作
        beforeDestroy() {
            console.log('beforeDestroy')
        },
        // (八)
        // 销毁vm
        destroyed() {
            console.log('destroyed')
        },
    })
</script>

? ? ? ? 常用的生命周期钩子:

? ? ? ? ? ? 1.mounted: 发送ajax请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】。

? ? ? ? ? ? 2.beforeDestroy: 清除定时器、解绑自定义事件、取消订阅消息等【收尾工作】。

? ? ? ? 关于销毁Vue实例

? ? ? ? ? ? 1.销毁后借助Vue开发者工具看不到任何信息。

? ? ? ? ? ? 2.销毁后自定义事件会失效,但原生DOM事件依然有效。

? ? ? ? ? ? 3.一般不会在beforeDestroy操作数据,因为即便操作数据,也不会再触发更新流程了。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 18:43:07  更:2022-07-20 18:43:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:13:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码