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代码
Mar 06 Javascript
jquery选择器-根据多个属性选择示例代码
Oct 21 Javascript
js或jquery实现页面打印可局部打印
Mar 27 Javascript
基于jquery实现弹幕效果
Sep 29 Javascript
AngularJS入门教程之数据绑定原理详解
Nov 02 Javascript
移动前端图片压缩上传的实例
Dec 06 Javascript
vue实现微信分享朋友圈,发送朋友的示例讲解
Feb 10 Javascript
搭建element-ui的Vue前端工程操作实例
Feb 23 Javascript
react 不用插件实现数字滚动的效果示例
Apr 14 Javascript
js实现轮播图特效
May 28 Javascript
vue项目中使用多选框的实例代码
Jul 22 Javascript
原生JavaScript实现进度条
Feb 19 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
动态新闻发布的实现及其技巧
2006/10/09 PHP
解析PHP中ob_start()函数的用法
2013/06/24 PHP
php制作中间带自己定义图片二维码的方法
2014/01/27 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
javascript 控制弹出窗口
2007/04/10 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
JavaScript:Date类型全面解析
2016/05/19 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
nodejs连接mysql数据库简单封装示例-mysql模块
2017/04/10 NodeJs
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
小程序实现五星点评效果
2018/11/03 Javascript
VUE简单的定时器实时刷新的实现方法
2019/01/20 Javascript
Angular实现svg和png图片下载实现
2019/05/05 Javascript
微信小程序使用canvas自适应屏幕画海报并保存图片功能
2019/07/25 Javascript
react中Suspense的使用详解
2019/09/01 Javascript
JavaScript中this的学习笔记及用法整理
2020/02/17 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
2020/11/03 Javascript
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
python实现斐波那契数列的方法示例
2017/01/12 Python
使用python对多个txt文件中的数据进行筛选的方法
2019/07/10 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
体育专业个人求职信范文
2013/12/27 职场文书
弘扬职业精神演讲稿
2014/03/20 职场文书
白酒营销策划方案
2014/08/17 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书
护士岗位竞聘书
2015/09/15 职场文书
大学生奶茶店创业计划书
2019/06/25 职场文书