vue自定义键盘信息、监听数据变化的方法示例【基于vm.$watch】


Posted in Javascript onMarch 16, 2019

本文实例讲述了vue自定义键盘信息、监听数据变化的方法。分享给大家供大家参考,具体如下:

@keydown.up
@keydown.enter
@keydown.a/b/c....

自定义键盘信息:

Vue.directive('on').keyCodes.ctrl=17;
Vue.directive('on').keyCodes.myenter=13;

@keydown.a/b/c....

<input type="text" @keydown.c="show">

自定义键盘信息:

Vue.directive('on').keyCodes.ctrl=17;
Vue.directive('on').keyCodes.myenter=13;
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
  <style>
  </style>
  <script src="vue.js"></script>
  <script>
    Vue.directive('on').keyCodes.ctrl=17; //
    Vue.directive('on').keyCodes.myenter=13;
    window.onload=function(){
      var vm=new Vue({
        el:'#box',
        data:{
          a:'blue'
        },
        methods:{
          show:function(){
            alert(1);
          }
        }
      });
    };
  </script>
</head>
<body>
  <div id="box">
    <input type="text" @keydown.myenter="show | debounce 2000">
  </div>
</body>
</html>

监听数据变化:

vm.el/el/mount/$options/....
vm.$watch(name,fnCb); //浅度

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
  <script src="vue.js"></script>
  <script>
    window.onload=function(){
      var vm=new Vue({
        el:'#box',
        data:{
          json:{name:'strive',age:16},
          b:2
        }
      });
      vm.$watch('json',function(){
        alert('发生变化了');//浅监听,json里面某个属性变,是不会监听到的
      });
      document.onclick=function(){
        vm.json.name='aaa';
      };
    };
  </script>
</head>
<body>
  <div id="box">
    {{json | json}}//json过滤相当于 JSON.string
    <br>
    {{b}}
  </div>
</body>
</html>

vm.$watch(name,fnCb,{deep:true}); //深度监视

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
  <script src="vue.js"></script>
  <script>
    window.onload=function(){
      var vm=new Vue({
        el:'#box',
        data:{
          json:{name:'strive',age:16},
          b:2
        }
      });
      vm.$watch('json',function(){
        alert('发生变化了');
      },{deep:true});
      document.onclick=function(){
        vm.json.name='aaa';
      };
    };
  </script>
</head>
<body>
  <div id="box">
    {{json | json}}
    <br>
    {{b}}
  </div>
</body>
</html>

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
基于Jquery的实现回车键Enter切换焦点
Sep 14 Javascript
JS+CSS实现表格高亮的方法
Aug 05 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
Nov 18 Javascript
js+canvas绘制矩形的方法
Jan 28 Javascript
jquery弹出框插件jquery.ui.dialog用法分析
Aug 20 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
Sep 05 Javascript
第一次接触神奇的Bootstrap
Oct 14 Javascript
JS异步文件分片断点上传的实现思路
Dec 25 Javascript
详解vue 中使用 AJAX获取数据的方法
Jan 18 Javascript
JavaScript门面模式详解
Oct 19 Javascript
面试题:react和vue的区别分析
Apr 08 Javascript
js+css实现全屏侧边栏
Jun 16 Javascript
vue自定义指令用法经典实例小结
Mar 16 #Javascript
简单易扩展可控性强的Jquery转盘抽奖程序
Mar 16 #jQuery
基于vue通用表单解决方案的思考与分析
Mar 16 #Javascript
vue+php实现的微博留言功能示例
Mar 16 #Javascript
一些你可能不熟悉的JS知识点总结
Mar 15 #Javascript
使用element-ui table expand展开行实现手风琴效果
Mar 15 #Javascript
element-ui组件table实现自定义筛选功能的示例代码
Mar 15 #Javascript
You might like
精致的人儿就要挑杯子喝咖啡
2021/03/03 冲泡冲煮
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
jquery eval解析JSON中的注意点介绍
2013/08/23 Javascript
使用javascript实现简单的选项卡切换
2015/01/09 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
Angularjs中数据绑定的实例详解
2017/08/25 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
koa2+vue实现登陆及登录状态判断
2019/08/15 Javascript
vue之a-table中实现清空选中的数据
2019/11/07 Javascript
vue 组件开发原理与实现方法详解
2019/11/29 Javascript
python获得图片base64编码示例
2014/01/16 Python
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
2017/03/12 Python
基于python元祖与字典与集合的粗浅认识
2017/08/23 Python
Python人脸识别初探
2017/12/21 Python
浅谈Python实现2种文件复制的方法
2018/01/19 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
Python日期时间Time模块实例详解
2019/04/15 Python
python 如何将数据写入本地txt文本文件的实现方法
2019/09/11 Python
python基于socket函数实现端口扫描
2020/05/28 Python
python3中数组逆序输出方法
2020/12/01 Python
python爬虫爬取某网站视频的示例代码
2021/02/20 Python
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
英国女性时尚品牌:Apricot
2018/12/04 全球购物
法国亚马逊官方网站:Amazon.fr
2020/12/19 全球购物
EJB的角色和三个对象
2015/12/31 面试题
关于安全演讲稿
2014/05/09 职场文书
公司活动总结范文
2014/07/01 职场文书
重点工程汇报材料
2014/08/27 职场文书
详解pytorch创建tensor函数
2022/03/22 Python