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 相关文章推荐
wordpress之js库集合研究介绍
Aug 17 Javascript
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
Jan 15 Javascript
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
Nov 30 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
Apr 02 Javascript
JS获取随机数函数可自定义最小值最大值
May 08 Javascript
JS实现图片的不间断连续滚动的简单实例
Jun 03 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
Feb 15 Javascript
jQuery+ajax实现局部刷新的两种方法
Jun 08 jQuery
JS 设置Cookie 有效期 检测cookie
Jun 15 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
Oct 20 jQuery
Vue 解决通过this.$refs来获取DOM或者组件报错问题
Jul 28 Javascript
基于原生JS封装的Modal对话框插件的示例代码
Sep 09 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
PHP 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
2018/03/12 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
Angular4 中常用的指令入门总结
2017/06/12 Javascript
JavaScript定义函数_动力节点Java学院整理
2017/06/27 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
使用Node.js实现RESTful API的示例
2017/08/01 Javascript
vue子传父关于.sync与$emit的实现
2019/11/05 Javascript
微信小程序实现canvas分享朋友圈海报
2020/06/21 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
[03:12]完美世界DOTA2联赛PWL DAY7集锦
2020/11/06 DOTA
python解析json实例方法
2013/11/19 Python
分享Python字符串关键点
2015/12/13 Python
深入解读Python解析XML的几种方式
2016/02/16 Python
使用Python的Scrapy框架十分钟爬取美女图
2016/12/26 Python
Python正则捕获操作示例
2017/08/19 Python
Python3 Random模块代码详解
2017/12/04 Python
对Python之gzip文件读写的方法详解
2019/02/08 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
什么是接口(Interface)?
2013/02/01 面试题
C语言50道问题
2014/10/23 面试题
竞争上岗演讲稿范文
2014/05/12 职场文书
物理系毕业生自荐书
2014/06/13 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
领导班子作风建设年个人整改措施
2014/09/29 职场文书
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB