vue中的计算属性和侦听属性


Posted in Javascript onNovember 06, 2020

计算属性

计算属性用于处理复杂的业务逻辑

计算属性具有依赖性,计算属性依赖 data中的初始值,只有当初始值改变的时候,计算属性才会再次计算

计算属性一般书写为一个函数,返回了一个值,这个值具有依赖性,只有依赖的那个值发生改变,他才会重新计算

<!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>表单输入绑定</title>
</head>
<body>
 <div id="app">

  {{ reverseMsg }}---- {{ reverseMsg }}-------- {{ reverseMsg }} //直接使用计算属性中的函数就是所要的数据

 </div>
</body>
<script src="vue.js"></script> //vue的js,不然使用不了vue语法
<script>
 const app = new Vue({
  el: '#app',
  data: {
   msg: 'hello world'
  },
  computed: {
   reverseMsg () { // 计算属性是一个函数,返回一个值,使用和data中的选项一样
    console.log('computed') // 执行1次 --- 依赖性
    return this.msg.split('').reverse().join('');
   }
  }
 })
</script>
</html>

侦听属性(监听属性)

vue提供了检测数据变化的一个属性 watch 可以通过  newVal 获取变化之后的值

<!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>表单输入绑定</title>
</head>
<body>
 <div id="app">
  <input type="text" v-model="firstname"> + <input type="text" v-model="lastname"> = {{ fullname }}

 </div>
</body>
<script src="vue.js"></script>
<script>
 const app = new Vue({
  el: '#app',
  data: {
   firstname: '李',
   lastname: '小龙',
   fullname: '李小龙'
  },
  watch: { // 侦听属性
   firstname (newVal, oldVal) { // newVal变化之后的值
    this.fullname = newVal + this.lastname // 当改变 姓 的时候执行
   },
   lastname (newVal, oldVal) {
    this.fullname = this.firstname + newVal // 当改变 名字 的时候执行
   }
  }
 })
</script>
</html>

以上就是vue中的计算属性和侦听属性的详细内容,更多关于vue 计算属性和侦听属性的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
项目实践之javascript技巧
Dec 06 Javascript
jquery中的sortable排序之后的保存状态的解决方法
Jan 28 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
Apr 27 Javascript
document.write()及其输出内容的样式、位置控制
Aug 12 Javascript
在javaScript中关于submit和button的区别介绍
Oct 20 Javascript
深入领悟JavaScript中的面向对象
Nov 18 Javascript
微信小程序前端源码逻辑和工作流
Sep 25 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
Dec 23 Javascript
jquery获取下拉框中的循环值
Feb 08 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
Apr 03 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
Nov 07 Javascript
Vue记住滚动条和实现下拉加载的完美方法
Jul 31 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
Nov 06 #Javascript
使用Vue实现一个树组件的示例
Nov 06 #Javascript
Nuxt.js 静态资源和打包的操作
Nov 06 #Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
Nov 04 #Javascript
vue 判断页面是首次进入还是再次刷新的实例
Nov 05 #Javascript
vue created钩子函数与mounted钩子函数的用法区别
Nov 05 #Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
Nov 05 #Javascript
You might like
Drupal7中常用的数据库操作实例
2014/03/02 PHP
memcache一致性hash的php实现方法
2015/03/05 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
PHP扩展安装方法步骤解析
2020/11/24 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
用 JSON 处理缓存
2007/04/27 Javascript
cloudgamer出品ImageZoom 图片放大效果
2010/04/01 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
javascript oop开发滑动(slide)菜单控件
2010/08/25 Javascript
checkbox设置复选框的只读效果不让用户勾选
2013/08/12 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
2016/09/12 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
Python2.5/2.6实用教程 入门基础篇
2009/11/29 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
ubuntu上安装python的实例方法
2019/09/30 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
Python super()函数使用及多重继承
2020/05/06 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
酒店司机岗位职责
2013/12/14 职场文书
单位在职证明范本
2014/01/09 职场文书
七年级音乐教学反思
2014/01/26 职场文书
应届生自荐信
2014/06/30 职场文书
小学社会实践活动总结
2014/07/03 职场文书
校车安全责任书
2014/08/25 职场文书
离婚协议书范本
2015/01/26 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
为Centos安装指定版本的Docker
2022/04/01 Servers