Vue.js自定义指令的用法与实例(用随机的背景色占位)

一、用来进行DOM操作 在图片未完成加载前,用随机的背景色占位,图片加载完成后才直接渲染出来;

Vue.directive('img',{
    inserted:function (el,binding){
        var color = Math.floor(Math.random()*1000000);
        el.style.backgroundColor = '#' + color;
        
        var img = new Image();
        img.src = binding.value; //获得传给指令的值
        img.onload = function (){
            el.style.backgroundImage = 'url(' + binding.value + ')';
        }
    }
});
<div v-img="val.url" v-for="val in list"></div>
list:[
    {
     url:'1.png'
    },{
     url:'2.png'
    },{
     url:'3.png'
    }
]

二、用于集成第三方插件 例如集成highlight.js

var hljs = require('highlight.js')
Vue.directive('highlight',function(el){
    hljs.highlightBlock(el);
})
<pre><code v-highlight>这是代码</code></pre>

转载于:https://my.oschina.net/lpcysz/blog/1593225

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值