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 hasOwnProperty 方法 &amp; in 关键字
Nov 26 Javascript
往光标所在位置插入值的js代码
Sep 22 Javascript
文本框只能选择数据到文本框禁止手动输入
Nov 22 Javascript
JavaScript学习笔记之Cookie对象
Jan 22 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
Nov 19 Javascript
JavaScript学习总结之JS、AJAX应用
Jan 29 Javascript
Javascript之面向对象--方法
Dec 02 Javascript
JavaScript中利用for循环遍历数组
Jan 15 Javascript
JavaScript数组迭代方法
Mar 03 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
May 23 Javascript
基于js实现数组相邻元素上移下移
May 19 Javascript
利用JS判断元素是否为数组的方法示例
Jan 08 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 STRING 陷阱原理说明
2010/07/24 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
php实现以只读方式打开文件的方法
2015/03/16 PHP
简单谈谈PHP中strlen 函数
2016/02/27 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
php简单统计中文个数的方法
2016/09/30 PHP
PHP输出Excel PHPExcel的方法
2018/07/26 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
jquery简单实现鼠标经过导航条改变背景图
2013/12/17 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
2016/06/26 Javascript
原生js编写焦点图效果
2016/12/08 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
Vue开发实现吸顶效果的示例代码
2018/08/21 Javascript
Vue实现滑动拼图验证码功能
2019/09/15 Javascript
原生JS实现贪吃蛇小游戏
2020/03/09 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
用Python设计一个经典小游戏
2017/05/15 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
Python连接Mysql进行增删改查的示例代码
2020/08/03 Python
python文件排序的方法总结
2020/09/13 Python
Python 图片处理库exifread详解
2021/02/25 Python
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
2014/05/15 HTML / CSS
HTML5逐步分析实现拖放功能的方法
2020/09/30 HTML / CSS
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
大四学生毕业自荐信
2013/11/07 职场文书
保密工作实施方案
2014/02/24 职场文书
中文专业毕业生自荐信
2014/05/24 职场文书
正风肃纪查摆剖析材料
2014/10/10 职场文书