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 相关文章推荐
学习ExtJS(二) Button常用方法
Oct 07 Javascript
js parsefloat parseint 转换函数
Jan 21 Javascript
解析js原生方法创建表格效率测试
Jul 08 Javascript
javascript 实现 秒杀,团购 倒计时展示的记录 分享
Jul 12 Javascript
extjs 时间范围选择自动判断的实现代码
Jun 24 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
Jan 08 Javascript
bootstrap PrintThis打印插件使用详解
Feb 20 Javascript
layui 给数据表格加序号的方法
Aug 20 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
Dec 23 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
Apr 10 Javascript
Angular6使用forRoot() 注册单一实例服务问题
Aug 27 Javascript
js实现无刷新监听URL的变化示例代码详解
Jun 03 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中防止SQL注入的最佳解决方法
2013/04/25 PHP
php文件系统处理方法小结
2016/05/23 PHP
YII2.0框架行为(Behavior)深入详解
2019/07/26 PHP
Javascript注入技巧
2007/06/22 Javascript
javascript数组使用调用方法汇总
2007/12/08 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
JSONP和批量操作功能的实现方法
2016/08/21 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
JS实现留言板功能
2017/06/17 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
react PropTypes校验传递的值操作示例
2020/04/28 Javascript
17个Python小技巧分享
2015/01/23 Python
Python3 适合初学者学习的银行账户登录系统实例
2017/08/08 Python
python中使用PIL制作并验证图片验证码
2018/03/15 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
Python退出时强制运行一段代码的实现方法
2020/04/29 Python
Python定时任务APScheduler原理及实例解析
2020/05/30 Python
在python中list作函数形参,防止被实参修改的实现方法
2020/06/05 Python
python实现图片,视频人脸识别(dlib版)
2020/11/18 Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
2021/02/02 Python
英国在线玫瑰专家:InterRose
2019/12/01 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
签约仪式主持词
2014/03/19 职场文书
竞选大学学委演讲稿
2014/09/13 职场文书
家长对孩子的寄语
2015/02/26 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis