普通JS插件改写成Vue的插件

很多刚入坑vue的小伙伴,想用一些原来不用框架的JS插件,用在vue中,可是发现没有效果。
这里我先贴个例子。
下图是一个插件的效果图


插件效果图

首先插件源代码需要的可以去点击下载。
找到里面的index.html,找到里面的20行到87行,复制出来,找到你vue的项目,新建个文件夹,新建个js文件,内容如下

import wavePng from './wave.png'
export default {
    install(Vue){
        Vue.directive('wave', {
            // 当指令绑定好之后,立即触发的方法
            inserted: function(el){
                start(el)
            },
            // 当指令的值变化后会触发update
            update: function(el, binding, vnode){
                if(binding.value){
                    start(el)
                }else{
                    stop()
                }   
            }
        })
    }
}

然后把刚刚粘贴的插件代码粘在最下面,记得把插件原先有的闭包去掉。这个改装的思路,就是改成Vue的自定义指令形式。
怎么使用呢,首先要在main.js

import wave from './components/wave.js'
Vue.use(wave)

然后在你需要的元素中绑定指令,下面来个demo







最终改造完成,希望能对刚入坑Vue的朋友有所帮助。


最终改造完的源码地址
vue自定义指令官方文档
segmentfault同篇传送门

你可能感兴趣的:(普通JS插件改写成Vue的插件)