zoukankan      html  css  js  c++  java
  • Vue--vue中的生命周期

    Vue的生命周期: 

    在理解vue生命周期前要把握它的三个重点: 创建-> 改变 -> 销毁

    创建:

                   1.执行beforeCreate

         2.监控data

         3.注册事件

                   4.执行create

                   5.执行beforeMount

                   6.执行Mounted

      注意:将来执行异步请求时一定要  将请求数据的方法写在beforeCreate事件之外,否则的话将来得到数据以后无法操作data中的属性         

    改变:

        改变data中的数据:

          1.先执行beforUpdate 

          2.重新生成虚拟dom

          3.再执行update

    销毁:

         1.执行beforeDestroy

       2.执行destroy

              触发销毁条件: 从一个页面跳转到另一个页面

       应用: 清除内存中的这个vue对象

    一.创建Vue时执行的钩子函数

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4 <meta charset="UTF-8">
     5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
     6 <meta http-equiv="X-UA-Compatible" content="ie=edge">
     7 <title>Document</title>   
     8 <script src="../axios.js"></script>
     9 <script src="../vue2.4.4.js"></script>
    10 </head>
    11 
    12 <body>
    13 <!-- 定义一个vue的管理区块,(MVVM中的View) -->
    14 <div id="app">
    15 
    16 </div>
    17 
    18 </body>
    19 
    20 <script>
    21       // 1 将路径的主机名和端口号统一设置
    22       axios.defaults.baseURL = "http://157.122.54.189:9093";
    23       // 2 将axios加到vue原型对象中
    24       Vue.prototype.$http = axios; 
    25     // 实例化vue对象(MVVM中的View Model)
    26     new Vue({
    27         // vm控制的区块为id为app的div,此div中的所有vue指令均可以被vm解析
    28         el:'#app',
    29         data:{
    30         // 数据 (MVVM中的Model)   
    31         name:"小明"
    32         },
    33         beforeCreate:function() {
    34             console.log("01.beforeCreate :"+this.name);
    35         
    36         },
    37         created:function() {
    38             console.log("02.created :"+this.name);
    39                 // 改变this指向
    40                 _this = this;
    41                 this.$http.get("/api/getprodlist").then(function(result){
    42                     var res = result.data;
    43                     _this.name = res.message[0].name;
    44                 });
    45         },
    46         beforeMount:function() {
    47             console.log("03.beforeMount :"+this.name);
    48         },
    49         mounted:function() {
    50             console.log("04.mounted :"+this.name);
    51         }
    52     })
    53 </script>
    54 </html>

    二.更新数据时执行的钩子函数

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4 <meta charset="UTF-8">
     5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
     6 <meta http-equiv="X-UA-Compatible" content="ie=edge">
     7 <title>Document</title>   
     8 <script src="../axios.js"></script>
     9 <script src="../vue2.4.4.js"></script>
    10 </head>
    11 
    12 <body>
    13 <!-- 定义一个vue的管理区块,(MVVM中的View) -->
    14 <div id="app">
    15     {{name}}
    16 </div>
    17 
    18 </body>
    19 
    20 <script>
    21       // 1 将路径的主机名和端口号统一设置
    22       axios.defaults.baseURL = "http://157.122.54.189:9093";
    23       // 2 将axios加到vue原型对象中
    24       Vue.prototype.$http = axios; 
    25     // 实例化vue对象(MVVM中的View Model)
    26     var vm = new Vue({
    27         // vm控制的区块为id为app的div,此div中的所有vue指令均可以被vm解析
    28         el:'#app',
    29         data:{
    30         // 数据 (MVVM中的Model)   
    31         name:"小明"
    32         },
    33         beforeCreate:function() {
    34             //输出this.name是undifined 因为还没有加载 
    35             console.log("01.beforeCreate :"+this.name);
    36         
    37         },
    38         created:function() {
    39             console.log("02.created :"+this.name);
    40                
    41         },
    42         beforeMount:function() {
    43             console.log("03.beforeMount :"+this.name);
    44         },
    45         mounted:function() {
    46             console.log("04.mounted :"+this.name);
    47         },
    48         beforeUpdate:function() {
    49             console.log("05.beforeUpdate :"+this.name);
    50         },
    51         updated:function() {
    52             console.log("06.updated :"+this.name);
    53         }
    54     })
    55 </script>
    56 </html>
  • 相关阅读:
    检索通讯录,根据输入的电话号码的每一位下拉显示检索结果
    获取手机的具体型号 及 iOS版本号
    在iOS中使用ZBar扫描二维码
    iOS沙盒路径的查看和使用
    ios打开通讯录及点击通讯录时提取相关信息
    获取倒计时距离某一时间点的时间,判断身份证,电话号码格式是否正确的简单封装
    iOS 获取手机的型号,系统版本,软件名称,软件版本
    第三天战略会议
    第二天站略会议总结
    第一天站略会议总结
  • 原文地址:https://www.cnblogs.com/mrszhou/p/7859519.html
Copyright © 2011-2022 走看看