自定义指令

1.v-text指令

<!--这里的v-text也是默认的指令,是用来输出msg的,等同于直接写{{msg}}。-->
<div id="box">
    <span v-text="msg"></span>
</div>
<script type="text/javascript">
    var vm = new Vue({
        data:{
            msg:'hello',
        },
    }).$mount('#box');
</script>

2.自定义指令

<!--我们现在来自定义一个指令v-red,来修改HTML元素的背景色为红色,以及字体加粗,设置字体大小-->
<div id="box2">
    <span v-red="msg">welcome</span>
</div>

<script type="text/javascript">
    /*注意我们定义的指令名是red,但在使用的是是v-red,这是Vue的规范。*/
    Vue.directive('red',{
        inserted:function(el){
            el.style.background = 'red';
            el.style.fontWeight = 'bolder';
            el.style.fontSize ='30px';
        }
    });

    var vm = new Vue({
        data:{
            msg:'hello,world',
        },
    }).$mount('#box2');
    </script>

3.自定义指令实现拖拽

div id="box3" :style="{width:'100px',height:'100px',background:'blue',position:'absolute',right :0,top:0}" v-drag></div>
<script>
    /*下面我们在定义一个指令v-drag,来实现HTML元素的拖拽*/
    Vue.directive('drag',{
        inserted:function(el){
            var oDiv = el;
            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;
                };
            };
        }
    });
    var vm3 = new Vue({
        el:'#box3',
    });
</script>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值