返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue中同时监听多个参数的实现
  • 813
分享到

vue中同时监听多个参数的实现

2024-04-02 19:04:59 813人浏览 安东尼
摘要

目录如何同时监听多个参数data中定义一个对象完整代码Vue事件监听,条件判断事件监听 v-on条件判断如何同时监听多个参数 vue使用watch同时监听多个参数,其中有任意一个参数

如何同时监听多个参数

vue使用watch同时监听多个参数,其中有任意一个参数发生改变时,都会被监听到需要使用到计算属性computed与监听watch

data中定义一个对象

data(){
    return{
        obj:{
            name:'xpf',
            gender:'male',
            age:24
    }
    }
}
  • computed中:将需要监听的参数放入一个新变量中
computed:{
    'newParams':function(){
        const {name,age} = this.obj
        return {name,age}
    }    
},
  • watch中:监听新的变量
watch:{
    newParams:function(){
        alert(1)
    }
},

完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>watch同时监听多个属性</title>
    <script src="https://cdn.bootCSS.com/vue/2.6.10/vue.js"></script>
</head>
<body>
    <div id="app">
        <div @click="changeObj">点我</div>
    </div>    
    <script>
        new Vue({
            el:'#app',
            data(){
                return{
                    obj:{
                        name:'xpf',
                        gender:'male',
                        age:24
                    }
                }
            },
            computed:{
                'newParams':function(){
                    const {name,age} = this.obj
                    return {name,age}
                }    
            },
            watch:{
                newParams:function(){
                    alert(1)
                }
            },
            methods:{
                changeObj(){
                    // this.obj.name = 'xx'
                    this.obj.age = 21
                }
            }
        })
    </script>
</body>
</html>

vue事件监听,条件判断

事件监听 v-on

语法糖@

1. 基本的使用法法

    <div id="add">
        点击次数{{counter}}
         <button @click = "add">+</button> <!--v-on:click = "" 语法糖  -->
        <button @click = "dec">-</button>
    </div>
    <script src="../js/vue.js"></script>
    <script>
        const add = new Vue({
            el:'#add',
            data:{
                counter:0
            },
            methods:{
                add:function(){
                    console.log('添加了');
                    this.counter++
                },
                dec:function(){
                    console.log('减少了');
                    this.counter--
                }
            }
        })  
    </script>

2. 事件监听带参数的使用方法

不带参数,写函数时,小括号可写可不写

<button @click = "one">按钮1</button>
<button @click = "one()">按钮2</button>

带有参数时,写函数时,小括号要写,传进的参数也要写

<button @click = "two">按钮2</button> <!-- 默认输出 浏览器生产的event事件对象 -->
<button @click = "two()">按钮3</button> <!-- 输出 undefind -->
<button @click = "two(123)">按钮4</button>  <!-- 输出 123  -->

即带参数有带event

<button @click = "three(123,$event) ">按钮5</button>

在小括号里添加$event可即添加参数又添加event事假

3.事件对象的修饰符

  • .stop相当于事件对象的stopPropagaton,阻止冒泡事件
 <div @click = "one">父亲
      <button @click.stop = "two">儿子</button>
    </div>
  • .prevent阻止默认事件 preventDefault
<a href="Https://www.baidu.com/" rel="external nofollow"  @click.prevent = "two">百度一下</a>
  • keyup监听某个键盘键帽
  • .enter只监听回车键
<input type="text" @keyup= "two">
<input type="text" @keyup.enter = "two">
  • .once只监听一次
<button @click.once = "two">按钮</button>

条件判断

1.v-if的基本使用

 <div id="add">
    <div v-if = "true">{{message}}</div>
    <div v-if = "false">{{name}}</div>
 
    <div v-if = "isshow">
      <h2>ccc</h2>
      <h2>ccc</h2>
      <h2>ccc</h2>
      <h2>ccc</h2>
    </div>

为true显示,为false隐藏,可设置一个变量isShow来控制

2.v-if和v-else使用

 <div id="add">
    <h2 v-if = "isShow">我是你爸爸</h2>
    <h2 v-else>不,我才是你爸爸</h2>
  </div>

两者只能显示一个当变量isShow为true时,else隐藏,同理相反

3.v-if和v-else-if和v-lese使用

<h2 v-if = "message >=90"> 优秀 </h2>
 <h2 v-else-if = "message >=80"> 良好 </h2>
 <h2 v-else-if = "message >=70"> 及格 </h2>
 <h2 v-else> 不及格 </h2>

3个结合可读性差,不建议

可在computed里封装一个函数

 computed: {
        result(){
          let num = " "
          if (this.message >=90) {
            num = '优秀'
          }else if(this.message >= 80){
            num = '良好'
          }else{
            num = "不及格"
          }
          return num
        }
      }

在调用,可读性较好 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。 

--结束END--

本文标题: vue中同时监听多个参数的实现

本文链接: https://lsjlt.com/news/145379.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue中同时监听多个参数的实现
    目录如何同时监听多个参数data中定义一个对象完整代码vue事件监听,条件判断事件监听 v-on条件判断如何同时监听多个参数 vue使用watch同时监听多个参数,其中有任意一个参数...
    99+
    2024-04-02
  • vue中怎么同时监听多个参数
    这篇文章主要讲解了“vue中怎么同时监听多个参数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue中怎么同时监听多个参数”吧!如何同时监听多个参数vue使用watch同时监听多个参数,其中...
    99+
    2023-06-29
  • C# Socket通信的实现(同时监听多客户端)
    看代码~ //创建socket对象 //第一个参数:设置网络寻址的协议、第二参数设置数据传输的方式、第三个参数设置通信协议 So...
    99+
    2024-04-02
  • vue实现同时设置多个倒计时
    本文实例为大家分享了vue实现同时设置多个倒计时的具体代码,供大家参考,具体内容如下 html如下: <div class="home"> <tbody...
    99+
    2024-04-02
  • npm script命令同时进行多个监听服务的方法
    最近在搭建一个静态页面偏多的网站, 用vue或React有点大材小用,使用纯html / css / js 又不好用, 于是就用npm手动搭建一个简单的本地开发环境, 本地环境要实现几个基本功能 在本地开启http...
    99+
    2022-06-04
    npm–script script命令
  • vue中实现监听数组内部元素
    目录vue监听数组内部元素我们有两种办法解决此问题vue如何监听数组的变化vue监听数组内部元素 在VUE中,对数组的监听是浅监听,也就是它只能监听到数组的长度或者有无的变化,当我们...
    99+
    2024-04-02
  • vue如何实现同时设置多个倒计时
    这篇文章主要介绍vue如何实现同时设置多个倒计时,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下html如下:<div class="home"> &nb...
    99+
    2023-06-15
  • vue中v-on可以监听多个方法吗
    在vue中v-on是提供的事件绑定机制,它是可以用来监听多个方法的,能够使用@替代v-on,比如:“”,而以下是v-on监听多个方法的示例。示例:...
    99+
    2024-04-02
  • vue中如何实时监听本地存储
    目录如何实时监听本地存储vue监听数据变化watch的基本用法获取前一次的值handler方法和immediate属性deep 深度侦听如何实时监听本地存储 在main.js中 Vu...
    99+
    2024-04-02
  • vue中怎么实时监听本地存储
    这篇文章主要介绍“vue中怎么实时监听本地存储”,在日常操作中,相信很多人在vue中怎么实时监听本地存储问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中怎么实时监听本地存储”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-30
  • vue中如何监听url地址栏参数变化
    目录vue监听url地址栏参数变化1、传递参数2、监听参数变化vue检测url的变化-Kaiqisan总结vue监听url地址栏参数变化 问题: 在开发过程中我们有可能会遇到一个问题...
    99+
    2023-03-10
    vue监听 监听url地址栏参数 vue地址栏参数
  • vue中怎么监听url地址栏参数变化
    这篇“vue中怎么监听url地址栏参数变化”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue中怎么监听url地址栏参数变化...
    99+
    2023-07-05
  • vue如何实时监听input值的变化
    本篇内容介绍了“vue如何实时监听input值的变化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、vuejs 2.0中js实时监听inp...
    99+
    2023-07-04
  • Vue路由监听实现同页面动态加载的示例
    目录场景分析 开发 总结 场景分析 在系统中一个模块有三个子模块. 业务数据中可以直接根据类型去区分这个三个子模块的归属. 通常情况下.我们是写在同一个模块中然后去选择业务类型. ...
    99+
    2024-04-02
  • Vue如何监听一个数组id是否与另一个数组id相同
    这篇文章主要介绍了Vue如何监听一个数组id是否与另一个数组id相同,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。数据list,结构为[{i...
    99+
    2024-04-02
  • JavaWeb中怎么实现一个监听器
    JavaWeb中怎么实现一个监听器,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 监听器实现一个监听器的接口;(有n种监听器)1.1 编写一个监听器(实现监听器接口)Onl...
    99+
    2023-06-20
  • vue实现监听数值的变化,并捕捉到
    目录上传头像的例子是完整的,登录没全部展示1. 封装全局监听方法2. 触发,并将监听的值存入Storage3. 监听完整例子(代码看上面 )第一步第二步第二步第三步上传头像的例子是完...
    99+
    2022-11-13
    vue监听 监听数值变化 vue捕捉数值
  • Vue的指令中实现传递更多参数
    目录概要基本原理基于闭包的扩展方案实例和代码实现Main.js中将指令对应的插件全局化ImageLoad插件定义图片加载管理类的定义Vue 3.0的实现概要 我们在使用Vue的开发项...
    99+
    2024-04-02
  • Vue实现监听某个元素滚动,亲测有效
    目录监听某个元素滚动,亲测有效监听dom元素滚动到了可视区?监听某个元素滚动,亲测有效 Vue 开发,有时候只需要监听某个元素是否滚动就行了,不需要去监听整个页面。 Vue 有自带的...
    99+
    2024-04-02
  • Java 实现实时监听MySQL数据库变更MySQLBinListener
    目录 1、导出需要的类和接口 2、 定义 MySQLBinlogListener类 3、私有方法,启动重连定时器 4、完整代码   编写一个MySQL数据库实时变更的监听器。 为什么要编写这个一个监听器:为了实时监测和响应MySQL数据库...
    99+
    2023-09-08
    数据库 mysql java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作