美文网首页
复写VUE.JS第四天

复写VUE.JS第四天

作者: 飞奔的小白 | 来源:发表于2018-05-02 02:23 被阅读0次

过滤器

  Vue.filter('toDou',function(input){
          return input<10?'0'+input:' '+ input;
  })
  Vue.filter(name,function(input){

  })
  时间转化器
  Vue.filter('date',function(){
      var oDate = new Date(input);
      return oDate.getFullYear()+'-'+(oDate.getMonth()+1)+'-'+oDate.getDate()+' '+oDate.getHours()+':'+oDate.getMinutes()+':'+oDate.getSeconds();
  })
   过滤html标记
    Vue.filter('filterHtml',function(input){
        return input.replace(/<[^<]/g,'');
    })
  双向过滤器
   Vue.filter('filterHtml',{
      read:function(){ //model->view
          return input.replace(/<[^<+]>/g,'');
      },
      write:function(){ //view -> model
          console.log(val);
      }
  })

自定义指令

    Vue.directive(指令名称,function(参数){
            this.el->原生DOM元素
    })
    指令名称    v-red -> red
    *注意:必须以v-开头
    拖拽:
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>拖拽</title>
   <script type="text/javascript" src="js/vue.min.js"></script>
   <style type="text/css" media="screen">
       #box_one{
           width:100px;
           height:100px;
           background:blue;
           position:absolute;
           right:0px;
           top:0px;
       }
   </style>
   <script type="text/javascript">
       Vue.directive('drag',function(){
           var oDiv = this.el;
           console.log(this);
           oDiv.onmousedown = function(ev){
               var disX = ev.clientX - oDiv.offsetLeft;
               var disY = ev.clientY - oDiv.offsetTop;
               document.onmousemove = function(ev){
                   var l = ev.clientX-disX;
                   var t = ev.clientY-disY;
                   oDiv.style.left = l +'px';
                   oDiv.style.top = t + 'px';
               };
               document.onmouseup = function(){
                   document.onmousemove = null ;
                   document.onmouseup = null ;
               }
           }
       })
       window.onload=function(){
           var vm = new Vue({
               el:'#box',
               data:{
                   msg:'welcome'
               }
           })
       }
   </script>
</head>
<body>
   <div id="box">
       <div id="box_one" v-drag>
           
       </div>
   </div>
</body>
</html>```
--------------------------------------
###自定义元素指令
     Vue.elementDirective('zns-red',{
         bind:function(){
               this.el.style.background='red';
         }
     })
--------------------------------------------
@keydown.up
@keydown.enter
自定义键盘信息
   Vue.directive('on').keyCodes.ctrl=17;
----------------------------------------------
监听数据变化:
     vm.$el/$mount/$options/..
     vm.$watch(name,回调函数);//浅度
     vm.$watch('a',function(){
         alert('发生变化');
         this.b=this.a+100;
     })
      vm.$watch('json',function(){
         alert('1');
     },{deep:true})//深度监视

相关文章

  • 复写VUE.JS第四天

    过滤器 自定义指令

  • Java的重写(override)与函数转型

    Java的重写 1.函数的复写(override).2.使用super调用父类的成员函数.复写与重载是不同的.复写...

  • 复写人生

    我的人生

  • 复写人生。

    大概一年的时间,晃瞬如梦,这个冗长之旅到底带给你什么了? 假设现在面临考研和就业的抉择,你还会义无反顾的导向内心的...

  • 又复写

    互联网时代,你永远不知道你的一个行为可能在影响背后默默关注你的人; 就如今天,因妹妹在幼儿园惹上感冒发烧,因我起床...

  • Vue.js第四天

    五、事件和属性 1.事件 1.1 事件简写 1.2事件对象$event 1.3事件冒泡 1.4 事件默认行为 1....

  • 复写equals时也要复写hashCode方法

    感谢:https://www.cnblogs.com/weilu2/p/java_hashcode_equals....

  • 街头的复写

    大多时候,我对于所拍摄照片内容的潜在所指不感兴趣,虽然拍摄的时候有一些观念会不由自主的冒出来,但当我意识到的时候,...

  • 恢复写作

    已经快两个月没有写作了,之前去伦敦玩了八天,也没有写。每天看到小伙伴们提交自己的写作作业,很受鼓舞,轮到自己恢复写...

  • 小小复写机

    一段时间之前小家伙收到了新的巧虎玩具,一直没来得及写。是一个复写机。这样的: 这个东西恐怕现在的小孩子们都不太看得...

网友评论

      本文标题:复写VUE.JS第四天

      本文链接:https://www.haomeiwen.com/subject/ozffrftx.html