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的类型转换(字符转数字 数字转字符)
Aug 30 Javascript
jquery 实现窗口的最大化不论什么情况
Sep 03 Javascript
js弹出层永远居中实现思路及代码
Nov 29 Javascript
javascript 通用loading动画效果实例代码
Jan 14 Javascript
使用GruntJS构建Web程序之安装篇
Jun 04 Javascript
javascript父、子页面交互技巧总结
Aug 08 Javascript
浅谈JavaScript函数节流
Dec 09 Javascript
fastclick插件导致日期(input[type=&quot;date&quot;])控件无法被触发该如何解决
Nov 09 Javascript
详解使用路由延迟加载 Angular 模块
Oct 12 Javascript
简单实现jquery隔行变色
Nov 09 jQuery
Vue的移动端多图上传插件vue-easy-uploader的示例代码
Nov 27 Javascript
原生js实现贪食蛇小游戏的思路详解
Nov 26 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
php中看实例学正则表达式
2006/12/25 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
laravel 关联关系遍历数组的例子
2019/10/10 PHP
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
js给onclick事件赋值,动态传参数实例解说
2013/03/28 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
2013/10/18 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
深入理解jQuery中live与bind方法的区别
2013/12/18 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
Javascript非构造函数的继承
2015/04/27 Javascript
javascript限制文本框输入值类型的方法
2015/05/07 Javascript
jquery超简单实现手风琴效果的方法
2015/06/05 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
js 毫秒转天时分秒的实例
2017/11/17 Javascript
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
python executemany的使用及注意事项
2017/03/13 Python
PYTHON基础-时间日期处理小结
2018/05/05 Python
浅析python的Lambda表达式
2019/02/27 Python
pandas删除指定行详解
2019/04/04 Python
Python中文分词库jieba,pkusegwg性能准确度比较
2020/02/11 Python
详解python程序中的多任务
2020/09/16 Python
前端面试必备之CSS3的新特性
2017/09/05 HTML / CSS
HTML5移动端开发遇见的东西
2019/10/11 HTML / CSS
Html5适配iphoneX刘海屏的简单实现
2019/04/09 HTML / CSS
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
迟到早退检讨书
2014/02/10 职场文书
高二学生评语大全
2014/04/25 职场文书
房展策划方案
2014/06/07 职场文书
小学班级特色活动方案
2014/08/31 职场文书
幼儿园教师师德师风演讲稿:爱我所爱 无悔青春
2014/09/10 职场文书
客户答谢会致辞
2015/01/20 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
Python编解码问题及文本文件处理方法详解
2021/06/20 Python
SQL Server中锁的用法
2022/05/20 SQL Server