Vue的属性、方法、生命周期实例代码详解


Posted in Javascript onSeptember 17, 2019

实例

<!DOCTYPE html>
  <html lang="en">
   <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Vue的属性、方法和生命周期</title>
    <script src="Vue.min.js"></script>
   </head>
  
   <body>
    <div id="main">
     <span>{{ message }}</span>
     <br/>
     <span>{{ number }}</span>
     <br/>
     <button v-on:click="add">add</button>
    </div>
   </body>
  </html>
  
  <script>
   const App = new Vue({
    // 选择器
    el: '#main',
    // 数据
    data: {
     // 在data里面不仅可以定义字符串,我们还可以定义number
     message: 'Welcome to Chivalrous Island!',
     number: 85,
    },
    // 如果我们从服务器得到的数据并不是我们需要的,可能是上面数据的结合,这时我们可以用到一个Vue提供的一个属性:计算属性
    // 计算属性:可以把data里面的数据计算一下,然后返回一个新的数据,它被叫做computed。
    computed: {
     // 可以定义函数,然后返回需要的数据,比如下面我们要得到上面number的平方,计算结果为:
     getSqure: function () {
       return this.number * this.number;
     }
    },
    // 定义函数
    methods: {
     add: function() {
      this.number++;
     }
    },
    // 监听属性(监听器),它可以监听一个函数或者是一个变量
    watch: {
     // 函数接收两个参数值,afterVal代表改变之后的值,beforeVal表示改变之前的值
     number: function(afterVal,beforeVal) {
      console.log('beforeVal',beforeVal);
      console.log('afterVal',afterVal);
     }
    }
   });
  
   // 打印出来的结果
   console.log(App.getSqure);
  </script>

属性

从上面的案例可以知道,属性可以分为计算属性(computed)和监听属性(watch)。

计算属性有一个好处在于它有一个缓存机制,因此它不需要每次都重新计算。

监听属性(监听器),它可以监听一个函数或者是一个变量。

Vue的属性、方法、生命周期实例代码详解 

方法(methods)

methods常调用的函数。

上面的示例中,getSqure,add,number,像这些都是我们自定义的方法。

生命周期(钩子函数)

生命周期就是从它开始创建到销毁经历的过程。

这个生命周期也就是Vue的实例,从开始创建,到创建完成,到挂载,再到更新,然后再销毁的一系列过程,这个官方有一个说法也叫作钩子函数。

<script>
  window.onload = () => {
    const App = new Vue({
      ......
    
      // 生命周期第一步:创建前(vue实例还未创建)
       beforeCreate() {
         // %c 相当于给输出结果定义一个样式
        console.log('%cbeforeCreate','color:green', this.$el);
        console.log('%cbeforeCreate','color:green', this.message);
       },
      // 创建完成
      created() {
         console.log('%ccreated','color:red', this.$el);
         console.log('%ccreated','color:red', this.message);
      },  
      // 挂载之前
      beforeMount() {
        console.log('%cbeforeMount','color:blue', this.$el);
        console.log('%cbeforeMount','color:blue', this.message);
      },
      // 已经挂载但是methods里面的方法还没有执行,从创建到挂载全部完成
      mounted() {
        console.log('%cmounted','color:orange', this.$el);
        console.log('%cmounted','color:orange', this.message);
      },
       // 创建完之后,数据更新前
      beforeUpdate() {
        console.log('%cbeforeUpdate','color:#f44586', this.$el);
        console.log('%cbeforeUpdate','color:#f44586', this.number);
      },
      // 数据全部更新完成
      updated() {
        console.log('%cupdated','color:olive', this.$el);
        console.log('%cupdated','color:olive', this.number);
      },
      // 销毁
      beforeDestroy() {
        console.log('%cbeforeDestroy','color:gray', this.$el);
        console.log('%cbeforeDestroy','color:gray', this.number);
      },
      destroyed() {
        console.log('%cdestroyed','color:yellow', this.$el);
        console.log('%cdestroyed','color:yellow', this.number);
      }
    });
  // 打印出来的结果
    console.log(App.getSqure);
    window.App = App;
  };
  
  // 销毁vue实例
  function destroy() {
    App.$destroy();
  }
  </script>

html:

<body>
    <div id="main">
     <span>{{ message }}</span>
     <br/>
     <span>{{ number }}</span>
     <br/>
     <button v-on:click="add">add</button>
      <br />
     <button Onclick="destroy()">destroy</button>
    </div>
  </body>

Vue的属性、方法、生命周期实例代码详解

Vue的属性、方法、生命周期实例代码详解

总结

以上所述是小编给大家介绍的Vue的属性、方法、生命周期实例代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
jquery里的each使用方法详解
Dec 22 Javascript
JavaScript获取网页中第一个图片id的方法
Apr 03 Javascript
JQuery跳出each循环的方法
Apr 16 Javascript
javascript结合canvas实现图片旋转效果
May 03 Javascript
基于jQuery制作小图标上下滑动特效
Jan 18 Javascript
ES6学习之变量的两种命名方法示例
Jul 18 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
Aug 17 Javascript
webpack踩坑之路图片的路径与打包
Sep 05 Javascript
webpack打包node.js后端项目的方法
Mar 10 Javascript
使用vue2实现购物车和地址选配功能
Mar 29 Javascript
node中的cookie的具体使用
Sep 13 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
Nov 16 Javascript
小程序的上传文件接口的注意要点解析
Sep 17 #Javascript
微信小程序实现蒙版弹出窗功能
Sep 17 #Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
Sep 17 #Javascript
ionic2.0双击返回键退出应用
Sep 17 #Javascript
三步实现ionic3点击退出app程序
Sep 17 #Javascript
ionic3双击返回退出应用的方法
Sep 17 #Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
Sep 17 #Javascript
You might like
PHP之变量、常量学习笔记
2008/03/27 PHP
PHP5 的对象赋值机制介绍
2011/08/02 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
理解php依赖注入和控制反转
2016/05/11 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
php实现的PDO异常处理操作分析
2018/12/27 PHP
laravel实现按月或天或小时统计mysql数据的方法
2019/10/09 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
Bootstrap常用组件学习(整理)
2017/03/24 Javascript
AngularJS实现tab选项卡的方法详解
2017/07/05 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
基于JS实现前端压缩上传图片的实例代码
2019/05/14 Javascript
Vue+tracking.js 实现前端人脸检测功能
2020/04/16 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
Python 正则表达式实现计算器功能
2017/04/29 Python
分享一个简单的python读写文件脚本
2017/11/25 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
python 获取list特定元素下标的实例讲解
2018/04/09 Python
selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)
2018/11/29 Python
Python后台开发Django会话控制的实现
2019/04/15 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
PHP笔试题
2012/02/22 面试题
编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的
2015/07/23 面试题
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
租房协议书范例
2014/10/14 职场文书