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 相关文章推荐
Javascript里使用Dom操作Xml
Sep 20 Javascript
Javascript this 的一些学习总结
Aug 31 Javascript
THREE.JS入门教程(2)着色器-上
Jan 24 Javascript
JS实现点击图片在当前页面放大并可关闭的漂亮效果
Oct 18 Javascript
jquery的trigger和triggerHandler的区别示例介绍
Apr 20 Javascript
vue从使用到源码实现教程详解
Sep 19 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
Sep 27 Javascript
jQuery复合事件用法示例
Jun 10 jQuery
基于BootStrap multiselect.js实现的下拉框联动效果
Jul 28 Javascript
JavaScript数据类型的存储方法详解
Aug 25 Javascript
基于VUE实现简单的学生信息管理系统
Jan 13 Vue.js
Javascript设计模式之原型模式详细
Oct 05 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 编写大型网站问题集
2010/05/07 PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
php的闭包(Closure)匿名函数详解
2015/02/22 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
ThinkPHP安装和设置
2015/07/27 PHP
判断JS对象是否拥有某种属性的两种方式
2013/12/02 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
2014/11/24 Javascript
js数组的操作指南
2014/12/28 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
2016/08/05 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
2016/11/04 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
js实现简易计算器功能
2019/10/18 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
2020/07/20 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
移动端JS实现拖拽两种方法解析
2020/10/12 Javascript
利用python代码写的12306订票代码
2015/12/20 Python
基于Python log 的正确打开方式
2018/04/28 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
python打开文件的方式有哪些
2020/06/29 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
县级文明单位申报材料
2014/05/23 职场文书
关于十八大的演讲稿
2014/09/15 职场文书
终止劳动合同协议书
2014/10/05 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
工作试用期自我评价
2015/03/10 职场文书
教师反邪教心得体会
2016/01/15 职场文书
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android
帮你提高开发效率的JavaScript20个技巧
2021/06/18 Javascript
Nginx本地配置SSL访问的实例教程
2022/05/30 Servers
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android