Vue:Vue基础知识之利用vue.directive自定义指令并实现绑定和解绑

利用vue.directive自定义指令并实现绑定和解绑

实现界面

vue.directive.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <title>vue.directive自定义指令实例</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script type='text/javascript' src='../assets/js/vue.js' ></script>
</head>
<body>
    <h1>vue.directive自定义指令实例啦</h1>
    <hr>
    <div id="app" >
        <!-- 模板的输出方式,把message变量渲染到模板里 -->
        自定义指令v-Jason
        <div v-Jasonniu='color'> {{num}}   </div>
        <p> <button @click='add'> ADD </button> </p>
    </div>
    <p>
        <!-- js的原生定义方法 -->
        <button onclick='unbind()'>解绑</button>
    </p>
    
    <script type='text/javascript'>
        function unbind(){
            app.$destroy();
        }

       //声明变量且实例化(生成器)
        Vue.directive('Jasonniu',{
            bind:function(el,binding){//被绑定
                console.log('1 - bind');
                el.style='color:'+binding.value;
            },
            inserted:function(){//绑定到节点
                console.log('2 - inserted');
            },
            update:function(){//组件更新
                console.log('3 - update');
            },
            componentUpdated:function(){//组件更新完成
                console.log('4 - componentUpdated');
            },
            unbind:function(){//解绑
                console.log('5 - unbinding');
            }
      
        });
        // el.style='color:'+binding.value;
        var app =new Vue({
            el:'#app',
            data:{
                num:10,
                color:'red'
            },
            //写方法
            methods:{
                add:function(){
                    this.num++;

                }

            }

        })
    
    </script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_42229253/article/details/81286941
今日推荐