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 23 Javascript
jquery实现简单的遮罩层
Jan 08 Javascript
ReactNative Image组件使用详解
Aug 07 Javascript
基于js中的原型(全面讲解)
Sep 19 Javascript
Three.js入门之hello world以及如何绘制线
Sep 25 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
Nov 07 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
Sep 27 Javascript
详解解决小程序中webview页面多层history返回问题
Aug 20 Javascript
vue把输入框的内容添加到页面的实例讲解
Nov 11 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
Apr 26 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
Jul 24 Javascript
vue绑定class的三种方法
Dec 24 Vue.js
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通过修改header强制图片下载的方法
2015/03/24 PHP
Jquery下attr和removeAttr的使用方法
2010/12/28 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
JavaScript中的Number数字类型学习笔记
2016/05/26 Javascript
HTML页面,测试JS对C函数的调用简单实例
2016/08/09 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
Angularjs 动态添加指令并绑定事件的方法
2017/04/13 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
javascript实现滚动条效果
2020/03/24 Javascript
Python版实现微信公众号扫码登陆
2020/05/28 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
[04:09]显微镜下的DOTA2第十二期—NaVi美如画的团战
2014/06/23 DOTA
[50:02]完美世界DOTA2联赛循环赛 Magma vs IO BO2第一场 11.01
2020/11/02 DOTA
python 写入csv乱码问题解决方法
2016/10/23 Python
django框架模板中定义变量(set variable in django template)的方法分析
2019/06/24 Python
简单了解python的内存管理机制
2019/07/08 Python
python在新的图片窗口显示图片(图像)的方法
2019/07/11 Python
手把手教你Python yLab的绘制折线图的画法
2019/10/23 Python
Pytorch实现的手写数字mnist识别功能完整示例
2019/12/13 Python
python从内存地址上加载python对象过程详解
2020/01/08 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
详解HTML5 window.postMessage与跨域
2017/05/11 HTML / CSS
JBL加拿大官方商店:扬声器、耳机等
2020/10/23 全球购物
办理暂住证介绍信
2014/01/11 职场文书
2014年人民调解工作总结
2014/12/08 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
springBoot基于webSocket实现扫码登录
2021/06/22 Java/Android
Python之基础函数案例详解
2021/08/30 Python
Python可视化学习之seaborn调色盘
2022/02/24 Python
用PYTHON去计算88键钢琴的琴键频率和音高
2022/04/10 Python