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的声明周期

beforeCreate:data和methods中的数据还没有初始化

这个现象是正确的,因为data和methods中的数据还没有初始化

?

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
  <div id="app">

  </div>
  <script>
    var vm=new Vue({
      el:"#app",
      data:{
        msg:'ok'
      },
      methods:{
        show(){
          console.log('执行show方法');
        }
      },
      beforeCreate() {
        console.log(this.msg);
        console.log(this.show());
      },
    })
  </script>
</body>
</html>

created:data和methods都已经被初始化好了

?

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
  <div id="app">

  </div>
  <script>
    var vm=new Vue({
      el:"#app",
      data:{
        msg:'ok'
      },
      methods:{
        show(){
          console.log('执行show方法');
        }
      },
     created(){
       console.log(this.msg);
      //  提示befC那个方法也可以不用console.log
       this.show();
     }
    })
  </script>
</body>
</html>

beforeMount:执行时,模板已经在内存中编译好了,但是未挂载到页面中去,只是之前写的一些模板字符串

?

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
  <div id="app">
    <h3 id="h3">{{msg}}</h3>
  </div>
  <script>
    var vm=new Vue({
      el:"#app",
      data:{
        msg:'ok'
      },
      methods:{
        show(){
          console.log('执行show方法');
        }
      },
     beforeMount() {
       console.log(document.getElementById("h3").innerHTML)
     },
    })
  </script>
</body>
</html>

Mounted:内存中编译好的模板,已经挂载到页面上了,用户可以看见了

?

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
  <div id="app">
    <h3 id="h3">{{msg}}</h3>
  </div>
  <script>
    var vm=new Vue({
      el:"#app",
      data:{
        msg:'ok'
      },
      methods:{
        show(){
          console.log('执行show方法');
        }
      },
     mounted() {
      console.log(document.getElementById("h3").innerHTML)
     },
    })
  </script>
</body>
</html>

beforeUpdate:当执行时,页面中显示的数据,还是旧的,此时data数据是最新的,页面尚未和最新的数据保持同步

控制台的内容才是关键

?

?

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
  <div id="app">
    <input type="button" value="修改msg" @click="msg='no'">
    <h3 id="h3">{{msg}}</h3>
  </div>
  <script>
    var vm=new Vue({
      el:"#app",
      data:{
        msg:'ok'
      },
      methods:{
        show(){
          console.log('执行show方法');
        }
      },
     beforeUpdate() {
       console.log('data中的msg数据是:'+this.msg)
       console.log('界面上元素的内容:'+document.getElementById("h3").innerHTML)
     },
    })
  </script>
</body>
</html>

updated:执行时,页面和data数据已经保持同步了,都是最新的

?

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
  <div id="app">
    <input type="button" value="修改msg" @click="msg='no'">
    <h3 id="h3">{{msg}}</h3>
  </div>
  <script>
    var vm=new Vue({
      el:"#app",
      data:{
        msg:'ok'
      },
      methods:{
        show(){
          console.log('执行show方法');
        }
      },
     updated() {
      console.log('data中的msg数据是:'+this.msg)
      console.log('界面上元素的内容:'+document.getElementById("h3").innerHTML)
     },
    })
  </script>
</body>
</html>

beforeDestory:执行时,组件实例所有的data和methods、过滤器、指令等都处于可用状态,还没有真正执行销毁

destroyed:执行时,组件已经被完全销毁了,此时,数据中所有的数据、方法、指令、过滤器等都已经不可用了。

后面两个没有例子,等我之后看看要不自己补吧!

推荐学习:黑马程序员39期web前端-vue生命周期_哔哩哔哩_bilibili

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:20:01  更:2022-03-08 22:20:27 
 
开发: 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/24 9:44:37-

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