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 相关文章推荐
js获取单选按钮的数据
Nov 27 Javascript
javascript 多浏览器 事件大全
Mar 23 Javascript
jQuery图片播放8款精美插件分享
Feb 17 Javascript
详谈$.data()的用法和作用
Feb 13 Javascript
前端构建工具之gulp的语法教程
Jun 12 Javascript
浅谈angularJS的$watch失效问题的解决方案
Aug 11 Javascript
jsonp跨域获取数据的基础教程
Jul 01 Javascript
详解package.json版本号规则
Aug 01 Javascript
jQuery cookie的公共方法封装和使用示例
Jun 01 jQuery
vue 清空input标签 中file的值操作
Jul 21 Javascript
javascript使用canvas实现饼状图效果
Sep 08 Javascript
解决iView Table组件宽度只变大不变小的问题
Nov 13 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大批量数据操作时临时调整内存与执行时间的方法
2011/04/20 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
ecshop适应在PHP7的修改方法解决报错的实现
2016/11/01 PHP
Yii2中使用asset压缩js,css文件的方法
2016/11/24 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
屏蔽F1~F12的快捷键的js函数
2010/05/06 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
jQuery层级选择器用法分析
2015/02/10 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
JavaScript文档碎片操作实例分析
2015/12/12 Javascript
Bootstrop实现多级下拉菜单功能
2016/11/24 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
js实现自动图片轮播代码
2017/03/22 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
2017/07/18 Javascript
详解vue项目首页加载速度优化
2017/10/18 Javascript
简单的Vue SSR的示例代码
2018/01/12 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
再谈Python中的字符串与字符编码(推荐)
2016/12/14 Python
基于wxPython的GUI实现输入对话框(2)
2019/02/27 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
python实现最小二乘法线性拟合
2019/07/19 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
Python 图像对比度增强的几种方法(小结)
2019/09/25 Python
python定时任务 sched模块用法实例
2019/11/04 Python
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
html5超简单的localStorage实现记住密码的功能实现
2017/09/07 HTML / CSS
Gweniss格温妮丝女包官网:英国纯手工制造潮流包包品牌
2018/02/07 全球购物
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
党员公开承诺书和承诺事项
2014/03/25 职场文书
百年校庆节目主持词
2014/03/27 职场文书
党的群众路线对照检查材料
2014/08/27 职场文书
信用卡工资证明范本
2015/06/19 职场文书
MySQL实战记录之如何快速定位慢SQL
2022/03/23 MySQL