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 相关文章推荐
一些常用的JS功能函数(2009-06-04更新)
Jun 04 Javascript
js将字符串转成正则表达式的实现方法
Nov 13 Javascript
javascript异步编程代码书写规范Promise学习笔记
Feb 11 Javascript
JavaScript编写推箱子游戏
Jul 07 Javascript
JavaScript黑洞数字之运算路线查找算法(递归算法)实例
Jan 28 Javascript
js阻止浏览器默认行为的简单实例
May 15 Javascript
javascript运算符——位运算符全面介绍
Jul 14 Javascript
Javascript实现代码折叠功能
Aug 25 Javascript
bootstarp modal框居中显示的实现代码
Feb 18 Javascript
js评分组件使用详解
Jun 06 Javascript
Mac中安装nvm的教程分享
Dec 11 Javascript
JS+CSS实现随机点名(实例代码)
Nov 04 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 遍历文件实现代码
2011/05/04 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
脚本吧 - 幻宇工作室用到js,超强推荐share.js
2006/12/23 Javascript
基于json的jquery地区联动效果代码
2011/07/06 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
2013/05/14 Javascript
JQuery教学之性能优化
2014/05/14 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
Mongoose中document与object的区别示例详解
2017/09/18 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
layer 关闭指定弹出层的例子
2019/09/25 Javascript
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
Python中使用logging模块打印log日志详解
2015/04/05 Python
Python字符串逆序输出的实例讲解
2019/02/16 Python
Python 常用模块 re 使用方法详解
2019/06/06 Python
Python中使用__new__实现单例模式并解析
2019/06/25 Python
解决python 读取 log日志的编码问题
2019/12/24 Python
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
自1926年以来就为冰岛保持温暖:66°North
2020/11/27 全球购物
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
linux面试题参考答案(8)
2015/08/11 面试题
2013年高中生自我评价
2013/10/23 职场文书
企业管理毕业生求职信
2014/03/11 职场文书
会计学专业自荐信
2014/06/25 职场文书
质量整改报告范文
2014/11/08 职场文书
2014年检察院个人工作总结
2014/12/09 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
2015年中秋节活动总结
2015/03/23 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
《乘法分配律》教学反思
2016/02/24 职场文书
MySQL基于索引的压力测试的实现
2021/11/07 MySQL
彻底弄懂Python中的回调函数(callback)
2022/06/25 Python