vue--监听器
vue当中的属性,侦听器watch
computed可以根据数据的变化而变化,而watch也具备同样的功能
既然这么相似,那么两者的区别是什么呢
首先是执行顺序上有一些细微差别,dom加载完成后将立即执行computed再watch
触发事件后,若有methods则先执行再watch
其次watch是更通用的响应数据变化的属性,如果数据变化是异步的,用watch较合适
接下来了解下该如何使用吧
<div id="nieo">
<input v-model="year">
<input v-model="month">
<div id="birth">出生年月:{{year}}年 {{month}}月<div>
<div>输入次数:{{count}}</div>
<div>
我们希望能实现一个功能,可以实时对输入框的输入次数计数并显示。
之前我们用computed把数据的改变绑定到dom上,这次就用watch来实现这个需求。
watch就像vue中监控或开关一样,只要有某个动作,就会行动。
接下来写js部分的代码:
var change = new Vue({
el:"#nieo",
data:{
year:,
month:,
count:
},
computed:{
birth () {
return this.year + "." + this.month
}
},
watch:{
year () {
return this.count++
},
month () {
return this.count++
}
}
})
完成以后,打开网页看看效果,是不是每次输入都会让count的数值发生变化呢。
注意,watch的使用可以再简化一些,比如像这样:
watch:{
birth () {
return this.count++
}
}
为什么可以这样写,computed和watch的执行顺序,birth的数据由year和month组成
任何一个发生变化都会使得computed发生作用,而watch又在其后执行
因此,监听birth也能达到同样的效果
原文:https://mp.weixin.qq.com/s/MT2uutHhfkl-TJDHzu3JNQ
vue--监听器的更多相关文章
- Vue——监听器watch
使用watch来侦听data中数据的变化,watch中的属性(watch是对象格式)一定是data 中已经存在的数据. 使用场景:数据变化时执行异步或开销比较大的操作. 典型应用:http://www ...
- vue监听器watch & 计算属性computed
侦听器watch vue中watch是用来监听vue实例中的数据变化 watch监听时有几个属性: handle:其值是一个回调函数,就是监听对象对话的时候需要执行的函数 deep:其值true 或者 ...
- Vue 监听器和计算属性到底有什么不同?
各自的适用场景 计算属性临时快照 官方文档对于计算属性提到了一个重要的点子--"临时快照"(可能就是前面说的计算属性缓存),每当源状态发生变化时,就会创建一个新的快照. 有时候创建 ...
- Vue.js-05:第五章 - 计算属性与监听器
一.前言 在 Vue 中,我们可以很方便的将数据使用插值表达式( Mustache 语法)的方式渲染到页面元素中,但是插值表达式的设计初衷是用于简单运算,即我们不应该对差值做过多的操作.当我们需要对差 ...
- vue的计算属性computed和监听器watch
<template> <div> this is A.vue <br> <!--计算属性--> <label for="msg" ...
- Vue学习3:计算属性computed与监听器
下面是计算属性相关代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- Vue(基础三)_监听器与计算属性
一.前言 本文主要涉及: 1.watch()监听单个属性 2.computed可以监听多个属性 3.点击li标签切换音乐案例 二.主要内容 1.watch()监听器(监听单一数据) (1)监听 ...
- VUE 学习笔记 四 计算属性和监听器
1.计算属性 对于任何复杂逻辑,你都应当使用计算属性 <div id="example"> <p>Original message: "{{ me ...
- Vue双向绑定的实现原理系列(三):监听器Observer和订阅者Watcher
监听器Observer和订阅者Watcher 实现简单版Vue的过程,主要实现{{}}.v-model和事件指令的功能 主要分为三个部分 github源码 1.数据监听器Observer,能够对数据对 ...
- vue 双向数据绑定的实现学习(二)- 监听器的实现
废话:上一篇https://www.cnblogs.com/adouwt/p/9928278.html 提到了vue实现的基本实现原理:Object.defineProperty() -数据劫持 和 ...
随机推荐
- Lists.newArrayList的一个小坑
把一个用户ID转换成List存储,最开始我使用的方法是: // 用户ID Integer userId = 120; // id 转 List List<integer> userIds ...
- Python博客目录
python基础 1.helloworld 2.运算符&while循环 3.pycharm安装&for循环&format字符串&list列表&set集合使用 4 ...
- CJSON在项目中的应用
无需编译,只需将 cJSON.c.cJSON.h 添加到项目中即可使用
- 用php实现斐波那契数列,如: 1, 1, 2, 3, 5, 8, 13, 21, 34。求出第20个数的值。
<?php function Fibonacci($n){ if ($n <= 0) { return 0; } elseif ($n == 1) { return 1; } else { ...
- spark MLlib实现的基于朴素贝叶斯(NaiveBayes)的中文文本自动分类
1.自动文本分类是对大量的非结构化的文字信息(文本文档.网页等)按照给定的分类体系,根据文字信息内容分到指定的类别中去,是一种有指导的学习过程. 分类过程采用基于统计的方法和向量空间模型可以对常见的文 ...
- python 练习1(流控制)
#!/usr/bin/python #_*_ coding:utf-8 _*_ #练习题 #1.使用while循环输入 1 2 3 4 5 6 8 9 10 #a.定义一个变量存放数字 #b.用whi ...
- 从零开始搭建一个vue.js的脚手架
在谷歌工作的时候,我们要做很多界面的原型,要求快速上手,灵活运用,当时用的一些现有框架,比如angular,太笨重了——尤雨溪(Vue.js 作者) vue.js是现在一个很火的前端框架,官网描述其简 ...
- ubuntu18.04 安装pip3
Ubuntu18.04默认内嵌python2.python3,pip安装时,python2对应安装pip,python3对应安装pip3. sudo apt install python3-pip 检 ...
- echart的x换行
option = { legend: { y: 'bottom', data:['该业务正常类比例','该业务关注类比例','该业务不良类比例'] }, xAxis: { type: 'categor ...
- virtualenv的使用
virtualenv 是一个创建隔绝的Python环境的工具.在向服务器导入第三方库的时候特别有用. 1.首先,安装virtualenv pip install virtualenv 2.创建一个虚拟 ...