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中Array 对象相关的几个方法
Dec 22 Javascript
JavaScript中按位“异或”运算符使用介绍
Mar 14 Javascript
用javascript关闭本窗口技巧小结
Sep 05 Javascript
推荐8款jQuery轻量级树形Tree插件
Nov 12 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
Jul 06 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
Jan 05 Javascript
vue.js实现的经典计算器/科学计算器功能示例
Jul 11 Javascript
详解微信小程序中组件通讯
Oct 30 Javascript
基于Fixed定位的框选功能的实现代码
May 13 Javascript
Vue 中使用 typescript的方法详解
Feb 17 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
Jun 05 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
Oct 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
全国FM电台频率大全 - 1 北京市
2020/03/11 无线电
PHP has encountered an Access Violation 错误的解决方法
2010/01/17 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
PHP屏蔽过滤指定关键字的方法
2014/11/03 PHP
php中get_meta_tags()、CURL与user-agent用法分析
2014/12/16 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
2016/06/13 PHP
windows7配置Nginx+php+mysql的详细教程
2016/09/04 PHP
禁用JavaScript控制台调试的方法
2014/03/07 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
2014/07/02 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
2018/05/10 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
vue移动端写的拖拽功能示例代码
2020/09/09 Javascript
nodejs+express最简易的连接数据库的方法
2020/12/23 NodeJs
python去除所有html标签的方法
2015/05/05 Python
Python 3中的yield from语法详解
2017/01/18 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
详解如何从TensorFlow的mnist数据集导出手写体数字图片
2019/08/05 Python
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
基于python解线性矩阵方程(numpy中的matrix类)
2019/10/21 Python
pip install 使用国内镜像的方法示例
2020/04/03 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
CSS3 animation ? steps 函数详解
2019/08/30 HTML / CSS
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
美国香薰蜡烛品牌:PADDYWAX
2018/10/06 全球购物
医学生自荐信范文
2013/12/03 职场文书
银行领导证婚词
2014/01/11 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
委托函范文
2015/01/29 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
公司客户答谢酒会祝酒词
2015/08/11 职场文书
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python