zoukankan      html  css  js  c++  java
  • vue实现自定义的v-xxx指令

    有时候,我会比较疑惑,v-show  v-if这些指令都是怎么写出来的,那么今天我就和大家一起看一下,如何自己写一个自己的指令,比如就叫v-xxx指令吧。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <script src="./js/vue.js"></script>
    </head>
    <body>
        <div id="app">
             <input type="button" value="++" @click="countAdd"/>
             <input type="button" value="--" @click="countSub"/>
             {{count}}
             <h1 v-xxx="count">如果不++,看不见我</h1>
        </div>
        <script>
            var m = {
                 count : 0
            }
     
            var vm = new Vue({
                el:"#app",
                data: m,
                methods:{
                     countAdd:function(){
                         this.count++;
                     },
                     countSub:function(){
                         this.count--;
                     }
                },
                directives:{
                    xxx:{
                        bind:function(el,bindings){
                            console.log('binding......');
                            console.log(el,bindings);
                            if(bindings.value > 0){
                                el.setAttribute('style','display:block');
                            }else{
                                el.setAttribute('style','display:none');
                            }
                        },
                        update:function(el,bindings){
                            console.log('updating......');
                            console.log(el,bindings);
                            if(bindings.value > 0){
                                el.setAttribute('style','display:block');
                            }else{
                                el.setAttribute('style','display:none');
                            }
                        },
                        unbind:function(el,bindings){
    
                        }
                    }
                }
            })
        </script>
     
    </body>
    </html>
    

      

     

     我们实现了一个指令 v-xxx

    这个指令的功能是,当v-xxx绑定的值是0时候,隐藏v-xxx所在的控件,如果v-xxx绑定的大于0时,显示v-xxx所在的控件

  • 相关阅读:
    Javascript
    Javascript
    Javascript
    Java web 中Session有效时间设置
    给div添加滚动条
    Java获得绝对路径
    JS实现选择文件保存路径
    JS实现文件上传
    jsp日期插件My97DatePicker的使用
    Java重写equals()方法
  • 原文地址:https://www.cnblogs.com/lukairui/p/14445531.html
Copyright © 2011-2022 走看看