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常见注意事项
Jan 01 Javascript
json的前台操作和后台操作实现代码
Jan 20 Javascript
jquery和js实现对div的隐藏和显示方法
Sep 26 Javascript
javascript给span标签赋值的方法
Nov 26 Javascript
node网页分段渲染详解
Sep 05 Javascript
关于vue的语法规则检测报错问题的解决
May 21 Javascript
在Vant的基础上实现添加表单验证框架的方法示例
Dec 05 Javascript
详解VUE前端按钮权限控制
Apr 26 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
Mar 05 Javascript
JavaScript装饰者模式原理与用法实例详解
Mar 09 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
Aug 31 Javascript
在 HTML 页面中使用 React的场景分析
Jan 18 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基于DOM创建xml文档的方法示例
2017/02/08 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
jQuery.extend()的实现方式详解及实例
2013/06/29 Javascript
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
js日期联动示例
2014/05/02 Javascript
元素绑定click点击事件方法
2015/06/08 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
Bootstrap页面标题Page Header的实现方法
2017/03/22 Javascript
使用Node.js实现RESTful API的示例
2017/08/01 Javascript
带你快速理解javascript中的事件模型
2017/08/14 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
ES6 Promise对象的应用实例分析
2019/06/27 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
使用django-suit为django 1.7 admin后台添加模板
2014/11/18 Python
深入理解Python中装饰器的用法
2016/06/28 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
Python输出带颜色的字符串实例
2017/10/10 Python
浅谈Pandas 排序之后索引的问题
2018/06/07 Python
简单了解Python3里的一些新特性
2019/07/13 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
Python数据可视化实现漏斗图过程图解
2020/07/20 Python
Python如何给你的程序做性能测试
2020/07/29 Python
给排水专业应届生求职信
2013/10/12 职场文书
贷款担保书范文
2014/05/13 职场文书
讲党性心得体会
2014/09/03 职场文书
2014房屋登记授权委托书
2014/10/13 职场文书
肖申克的救赎观后感
2015/06/02 职场文书
毕业班工作总结
2015/08/10 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
Python编程源码报错解决方法总结经验分享
2021/10/05 Python