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 相关文章推荐
让firefox支持IE的一些方法的javascript扩展函数代码
Jan 02 Javascript
jQuery 文本框得失焦点的简单实例
Feb 19 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
Oct 30 Javascript
一不小心就做错的JS闭包面试题
Nov 25 Javascript
基于JavaScript实现网页倒计时自动跳转代码
Dec 28 Javascript
深入理解JQuery循环绑定事件
Jun 02 Javascript
hovertree插件实现二级树形菜单(简单实用)
Dec 28 Javascript
bootstrap可编辑下拉框jquery.editable-select
Oct 12 jQuery
详解VueJs中的V-bind指令
May 03 Javascript
JS实现数组深拷贝的方法分析
Mar 06 Javascript
ES6 Proxy实现Vue的变化检测问题
Jun 11 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
Dec 17 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编程最快明白》第七讲:php图片验证码与缩略图
2010/11/01 PHP
php 冒泡排序 交换排序法
2011/05/10 PHP
yii框架builder、update、delete使用方法
2014/04/30 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
Aster vs KG BO3 第二场2.18
2021/03/10 DOTA
jQuery autocomplete插件修改
2009/04/17 Javascript
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
jquery中dom操作和事件的实例学习 下拉框应用
2011/12/01 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
js限制文本框只能输入整数或者带小数点的数字
2015/04/27 Javascript
JavaScript判断对象是否为数组
2015/12/22 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
2016/11/23 Javascript
使用 Vue-TCB 快速在 Vue 应用中接入云开发的方法
2020/02/10 Javascript
前端vue+elementUI如何实现记住密码功能
2020/09/20 Javascript
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
使用python获取CPU和内存信息的思路与实现(linux系统)
2014/01/03 Python
通过C++学习Python
2015/01/20 Python
python查找目录下指定扩展名的文件实例
2015/04/01 Python
Python中Django 后台自定义表单控件
2017/03/28 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
Tensorflow 查看变量的值方法
2018/06/14 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
django获取from表单multiple-select的value和id的方法
2019/07/19 Python
Python线程协作threading.Condition实现过程解析
2020/03/12 Python
如何在python中执行另一个py文件
2020/04/30 Python
Python爬虫之Selenium鼠标事件的实现
2020/12/04 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
任命书怎么写
2014/06/04 职场文书
软件测试专业推荐信
2014/09/18 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android