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 相关文章推荐
onbeforeunload与onunload事件异同点总结
Jun 24 Javascript
js获取当前页面路径示例讲解
Jan 08 Javascript
jQuery中阻止冒泡事件的方法介绍
Apr 12 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
Aug 26 Javascript
js中document.referrer实现移动端返回上一页
Feb 22 Javascript
jQuery完成表单验证的实例代码(纯代码)
Sep 30 jQuery
详解webpack的proxyTable无效的解决方案
Jun 15 Javascript
vue.js与后台数据交互的实例讲解
Aug 08 Javascript
详解在create-react-app使用less与antd按需加载
Dec 06 Javascript
微信小程序-可移动菜单的实现过程详解
Jun 24 Javascript
vue实现axios图片上传功能
Aug 20 Javascript
Vue3.0数据响应式原理详解
Oct 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
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
PHP写的加密函数,支持私人密钥(详细介绍)
2013/06/09 PHP
PHP自动识别字符集并完成转码详解
2013/08/02 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
javascript数组的扩展实现代码集合
2008/06/01 Javascript
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
js下通过prototype扩展实现indexOf的代码
2010/12/08 Javascript
js中字符替换函数String.replace()使用技巧
2011/08/14 Javascript
JS解决url传值出现中文乱码的另类办法
2013/04/08 Javascript
JsRender实用入门教程
2014/10/31 Javascript
jQuery的Scrollify插件实现滑动到页面下一节点
2015/07/05 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
2016/05/04 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
bootstrapValidator表单验证插件学习
2016/12/30 Javascript
Angular4开发解决跨域问题详解
2017/08/28 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
ESLint 是如何检查 .vue 文件的
2020/11/30 Vue.js
Python自动连接ssh的方法
2015/03/07 Python
Python利用正则表达式匹配并截取指定子串及去重的方法
2015/07/30 Python
深入理解Python装饰器
2016/07/27 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
Python全面分析系统的时域特性和频率域特性
2020/02/26 Python
美国大城市最热门旅游景点门票:CityPASS
2016/12/16 全球购物
Brydge英国:适用于Apple iPad和Microsoft Surface Pro的蓝牙键盘
2019/05/16 全球购物
编程实现去掉XML的重复结点
2014/05/28 面试题
文秘专业个人求职信
2013/12/22 职场文书
公司接待方案
2014/03/08 职场文书
家长建议怎么写
2014/05/15 职场文书
保护环境的宣传语
2015/07/13 职场文书
redis 限制内存使用大小的实现
2021/05/08 Redis
浅谈JS的二进制家族
2021/05/09 Javascript
nginx访问报403错误的几种情况详解
2022/07/23 Servers