学习vue第九节,自定义vue指令

Posted shangrao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习vue第九节,自定义vue指令相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
            <script src="js/vue-2.4.0.js" type="text/javascript" charset="utf-8"></script>
            
    </head>
    <body>
        <div id="app">
            
            <!-- 调用局部指令 v-fontweight v-fontsize -->
            <input type="text" v-model="msg1" v-fontweight="‘bold‘" /><span v-fontsize=‘"25px"‘>{{msg1}}</span>
            
            <br />
            <!-- 调用全局指令 v-focus v-focus 有参数的情况下加双引号 -->
            <input type="text" v-focus v-color=‘"red"‘/>
        </div>
        <script type="text/javascript">
            // 自定义 全局指令。
            // 参数1:指令名称,不用加v-前缀
            // 参数2:对象,可以加一些指令相关的函数
            Vue.directive(focus,{
                // inserted 表示被绑定元素插入父节点时调用,触发函数【触发一次】
                inserted:function(el){//el参数表示添加指令的dom对象
                    el.focus();
                }                
            })
            
            Vue.directive(color,{
                // 每当绑定到元素上时,会立即执行(相当于在内存中就执行,所有focus指令不能用bind)【触发一次】
                bind:function(el,binding){//el参数表示添加指令的dom对象,binding 表示一个对象,有多个属性
                // binding.name  binding.value  binding.expression 
                    el.style.color=binding.value;
                }                
            })
            var vm=new Vue({
                el:#app,
                data:{
                    msg1:‘‘
                },
                methods:{
                    
                },
                directives:{//定义私有的指令
                    fontsize:{
                        bind:function(el,size){
                             el.style.fontSize=size.value
                        }
                    },
                    fontweight:function(el,weight){//定义私有的指令简写-默认使用bind 和update ,参照color的bind
                        el.style.fontWeight=weight.value;
                        
                    }
                }
                
            })
        </script>
    </body>
</html>

以前都是用vue自带的指令,现在我们也可以自己创建指令了

以上是关于学习vue第九节,自定义vue指令的主要内容,如果未能解决你的问题,请参考以下文章

vue.js项目实战运用篇之抖音视频APP-第九节: 视频上滑下拉播放功能

Vue学习之路第九篇:双向数据绑定 v-model指令

VSCode自定义代码片段1——vue主模板

VSCode自定义代码片段(vue主模板)

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段11——vue路由的配置