iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue 生命周期和数据共享详解
  • 744
分享到

Vue 生命周期和数据共享详解

2024-04-02 19:04:59 744人浏览 泡泡鱼
摘要

目录1.组件的生命周期1.1生命周期与生命周期函数 1.2组件生命周期函数的分类1.3生命周期图示以及详解2.组件之间的数据共享2.1组件之间的关系2.2父向子传值2.3子

1. 组件的生命周期

1.1 生命周期与生命周期函数 

生命周期是指一个组件从 创建 => 运行 => 销毁 的整个时间段,强调的是一个时间段生命周期函数是由 Vue 框架提供的内置函数,会伴随着组件的生命周期,自动按次序执行

1.2 组件生命周期函数的分类

在这里插入图片描述

1.3 生命周期图示以及详解

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

组件创建阶段

  • beforeCreted props/data/methods … 都未被创建,啥也干不了
  • created
    • props/data/methods … 都创建好了
    • 经常在此函数里调用 methods 中的方法,请求服务器中的数据
    • 并且把请求到的数据转存在 data 中,提供 template 模板渲染的时候使用。
    • 但是模板结构尚未生成,不能访问 DOM 结构,DOM 结构均为 null
  • beforeMount 将要把内存中编译好的 html 结构渲染到浏览器中
  • mounted
    • 已经把内存中的 HTML 结构成功的渲染到了浏览器
    • 此时浏览器中已经包含了当前组件的 DOM 结构
    • 这也是最早可以操作 DOM 的时候

组件运行阶段

  • beforeUpdata 
    • 将要根据变化过最新的数据重新渲染组件的模板结构
    • data是最新的 ui结构中的内容还是旧的 
  • updataed 
    • 已经根据最新的数据完成了组件的 DOM 结构的重新渲染
    • 新的 data 最新的 ui结构
    • 当数据变化之后,操作最新的 DOM 结构

组件销毁阶段

beforeDestory 将要销毁这个组件,此时尚未销毁组件还处于正常工作的状态

destoryed 组件已经完全被销毁,此时组件在浏览器中对应的 DOM 结构已经完全移除

2. 组件之间的数据共享

2.1 组件之间的关系

项目开发中,组件之间的最常见的关系分为如下两种:

  • 父子关系
  • 兄弟关系

2.2 父向子传值

使用自定义属性

  • 简单类型复制复杂类型是传的引用
  • 不要修改 props 的值
  • 父组件通过 v-bind 绑定数值
<Son :msg="message" :user="userinfo"></Son>
export default {
    data() {
        return {
            message: 'hello son',
            userinfo: {
                name: 'pingting',
                age: 18
            }
        }
    }
}

子组件通过 props 声明自定义属性

<div>
    <h3>Son 组件</h3>
    <p>父组件传过来的 msg: {{ msg}} </p>
    <p>父组件传过来的 user:{{ user}} </p>
</div>
export default {
    props: ['msg' , 'user']
}

2.3 子向父传值

使用自定义事件

子组件通过 $emit 将值传递给父组件

当 click事件触发 => 调用 add 函数 => 触发 numChange 事件 =>

this.count作为实参传递给 getNewCount 函数 => 形参为 val

export default {
    data(){
        return {
            // 子组件的数据
            count: 0
        }
    },
    methods: {
        add(){
            this.count += 1
            // 触发一个自定义事件并且传递参数
            this.$emit('numChange' , this.count)
        }
    }
}

父组件

@ 绑定自定义事件

<Right @numChange="getNewCount"></Right>
export default {
    data() {
        return {
            // 接收 right 传过来的 count
            countFather: 0
        }
    },
    methods: {
      getNewCount(val){
        this.countFather = val
      }
    }
}

2.4 兄弟之间的数据关系

在 vue2.x 使用 eventBus

在这里插入图片描述

创建 eventBus.js 模块,并向外共享一个 Vue 的实例对象

import Vue from 'vue'
export default new Vue()

在数据发送方,调用 bus.$emit('事件名称',发送的数据) 方法触发自定义事件

<button @click="sendStr">发送数据给 Right </button>
import bus from './eventBus.js'
export default {
    data(){
        return {
            str: '这是Son的str数据,将要共享出去'
        }
    },
    methods: {
        sendStr(){
            // 通过 eventBus 发送数据
            bus.$emit('share' , this.str)
        }
    }
}

在数据接收方,调用 bus.$on('事件名称',事件处理函数) 方法注册一个自定义事件

<p>从 Son 接受的数据:{{ strFromSon }} </p>
import bus from './eventBus.js'
export default {
    data(){
        return {
            strFromSon: ''
        }
    },
    created() {
        bus.$on('share' , (val) => {
            this.strFromSon = val
        })
    }
}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!  

--结束END--

本文标题: Vue 生命周期和数据共享详解

本文链接: https://www.lsjlt.com/news/140086.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue 生命周期和数据共享详解
    目录1.组件的生命周期1.1生命周期与生命周期函数 1.2组件生命周期函数的分类1.3生命周期图示以及详解2.组件之间的数据共享2.1组件之间的关系2.2父向子传值2.3子...
    99+
    2024-04-02
  • Vue中的生命周期和数据共享是什么
    这篇文章主要介绍了Vue中的生命周期和数据共享是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue中的生命周期和数据共享是什么文章都会有所收获,下面我们一起来看看吧。一、组件的生命周期1.1 生命周期 &...
    99+
    2023-06-30
  • Vue生命周期详解
    这篇博客将会从下面四个常见的应用诠释组件的生命周期,以及各个生命周期应该干什么事 单组件的生命周期父子组件的生命周期兄弟组件的生命周期宏mixin的生命周期 生命周期:Vue 实例从...
    99+
    2024-04-02
  • 详解vue生命周期
    目录为什么要理解生命周期什么是生命周期生命周期钩子函数created和mounted钩子的一些实战用法1.异步函数 2.Vue.nextTick对异步函数的结果进行操作 总结为什么要...
    99+
    2024-04-02
  • Vue之生命周期函数详解
    目录生命周期函数常用的生命周期的钩子 关于Vue销毁实例: 总结 生命周期函数 生命周期函数又叫:生命周期回调函数,生命周期函数、 生命周期钩子 是什么:Vue在关键时刻帮我们调用...
    99+
    2024-04-02
  • 详解Vue生命周期和MVVM框架
    目录生命周期与动态组件有关的两个特殊的钩子:与组件异常捕获有关的一个钩子:生命周期有哪些生命周期 组件从开始到结束的全过程 创建阶段:beforeCreate、created挂载阶段...
    99+
    2024-04-02
  • Vue生命周期区别详解
    生命周期分类 vue每个组件都是独立的,每个组件都有一个属于它的生命周期, 从一个组件创建、数据初始化、挂载、更新、销毁,这就是一个组件所谓的生命周期。 在组件中具体的方法有: ...
    99+
    2024-04-02
  • Vue生命周期介绍和钩子函数详解
    目录Vue生命周期介绍和钩子函数 VUE生命周期钩子 Vue生命周期简介 create 和 mounted 相关 update 相关 destroy 相关 总结 Vue生命周期介绍和...
    99+
    2024-04-02
  • vue的生命周期钩子与父子组件的生命周期详解
    目录vue的生命周期钩子的介绍父子组件的生命周期加载渲染过程父组件更新过程子组件更新过程父子组件更新过程销毁过程代码示例created和mounted的区别vue的生命周期钩子的介绍...
    99+
    2022-11-13
    vue 生命周期 vue 父子组件生命周期
  • VUE生命周期全面系统详解
    目录什么是生命周期生命周期的作用vue生命周期有哪些Vue 生命周期总共分为几个阶段1)beforeCreate创建前2)created创建后3)beforeMounte挂载前4)m...
    99+
    2024-04-02
  • Vue生命周期与setup深入详解
    目录生命周期生命周期函数不同API的生命周期setup介绍1. 访问Props2. setup上下文3. 与渲染函数一起使用生命周期 下图对比了vue3(左)和vue2(右)的生命周...
    99+
    2024-04-02
  • Vue3生命周期函数和方法详解
     1. 概述 所谓生命周期函数,就是在某一条件下被自动触发的函数。 2. VUE3 生命周期函数介绍 2.1 beforeCreate 在 VUE 实例生成之前会自动执行的函数 2....
    99+
    2024-04-02
  • rust生命周期详解
    目录rust生命周期借用检查函数中的生命周期手动声明生命周期结构体中的生命周期生命周期消除三条消除原则生命周期约束静态生命周期rust生命周期 生命周期是rust中用来规定引用的有效...
    99+
    2023-03-19
    rust生命周期
  • Vue组件与生命周期详细讲解
    目录写在前面生命周期图解总结写在前面 Vue.js的核心就是以简洁的模板语法将数据渲染进Dom系统。vue实例在渲染成html的时候往往要经过以下的步骤: 读取数据和方法,设置数据绑...
    99+
    2022-11-13
    Vue组件 Vue生命周期
  • 详解uniapp的生命周期
    Uniapp作为一款跨平台应用开发框架,具有丰富的生命周期,以下是Uniapp的生命周期: 1.应用生命周期 应用生命周期是指应用程序从启动到关闭的整个过程,包括应用程序的启动、前后...
    99+
    2023-05-17
    vue uniapp uniapp生命周期
  • React的生命周期详解
    一、React生命周期 React 生命周期分为三种状态 1. 初始化2.更新3.销毁 初始化 1、getDefaultProps() 设置默认的props,也可以用dufault...
    99+
    2024-04-02
  • Vue生命周期怎么理解
    这篇“Vue生命周期怎么理解”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue生命周期怎么理解”文章吧。1、定义生命周期函...
    99+
    2023-07-06
  • 如何理解Vue生命周期和钩子函数
    这期内容当中小编将会给大家带来有关如何理解Vue生命周期和钩子函数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. vue生命周期一组件从 创建 到 销毁 的整个过程就是生命周期Vue 实例从创建到销毁...
    99+
    2023-06-25
  • Flutter组件生命周期和App生命周期示例解析
    目录引言无状态组件(StatelessWidget)有状态组件(StatefulWidget)StatefulWidget生命周期详细分析1. createState2. initS...
    99+
    2022-12-08
    Flutter 组件APP生命周期 Flutter 生命周期
  • 微信APP生命周期及页面生命周期示例详解
    目录官方文档小程序的启动流程app生命周期页面的生命周期页面的生命周期(图)官方文档 ogram&jumpbackUrl=%2Fdoc%2F" rel="external n...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作