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 键盘keyCode键码值表
Dec 24 Javascript
js中判断控件是否存在
Aug 25 Javascript
js控制表单操作的常用代码小结
Aug 15 Javascript
带左右箭头图片轮播的JS代码
Dec 18 Javascript
JS函数定义方式的区别介绍
Mar 22 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
Dec 14 Javascript
关于JavaScript语句后面的分号问题
Dec 07 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
Jan 18 jQuery
详解使用angular框架离线你的应用(pwa指南)
Jan 31 Javascript
JS实现计算小于非负数n的素数的数量算法示例
Feb 26 Javascript
webpack 动态批量加载文件的实现方法
Mar 19 Javascript
JS浏览器BOM常见操作实例详解
Apr 27 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
mysql5详细安装教程
2007/01/15 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
php 可变函数使用小结
2018/06/12 PHP
用Greasemonkey 脚本收藏网站会员信息到本地
2009/10/26 Javascript
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
10个基于浏览器的JavaScript调试工具分享
2013/02/07 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
2016/06/23 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
js仿新浪微博消息发布功能
2017/02/17 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
vue+iview 兼容IE11浏览器的实现方法
2019/01/07 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
基于JS实现计算24点算法代码实例解析
2020/07/23 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
2018/04/27 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
Python绘图实现台风路径可视化代码实例
2020/10/23 Python
英国最大的滑板品牌选择:Route One
2019/09/22 全球购物
美国婴儿和儿童服装购物网站:PatPat
2020/10/01 全球购物
百度JavaScript笔试题
2015/01/15 面试题
幼儿师范毕业生自荐信
2013/11/09 职场文书
幼儿园母亲节活动方案
2014/03/10 职场文书
年终总结会议主持词
2014/03/17 职场文书
学生意外伤害赔偿协议书
2014/09/17 职场文书
2016年中秋祝酒词
2015/11/26 职场文书
Java并发编程之原子性-Atomic的使用
2022/03/16 Java/Android