美文网首页
普通JS插件改写成Vue的插件

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

作者: 红豆稀饭_a071 | 来源:发表于2018-07-20 14:38 被阅读0次

很多刚入坑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

<template>
  <div>
    <div class="wave" v-wave="wave"><span>60%</span></div>
    <button @click="wave = true">start</button>
    <button @click="wave = false">stop</button>
  </div>
</template>

<script>
import wave from './a'
export default {
  data(){
    return{
      wave: true
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.wave{width:200px;height:200px;overflow:hidden;border-radius:50%;background:rgba(255,203,103,.6);margin:100px auto;position:relative;text-align:center;display:table-cell;vertical-align:middle;}
.wave span{display:inline-block;color:#fff;font-size:20px;position:relative;z-index:2;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%)
}
.wave canvas{position:absolute;left:0;top:0;z-index:1;}
</style>

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


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

相关文章

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

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

  • vue高级用法

    Vue 插件 plugin 1, Vue 插件 plugin 安装 Vue.js 插件。如果插件是一个对象,必须提...

  • Vue.use解析

    Vue.use 参数:{Object | Function} plugin 用法安装 Vue.js 插件。如果插件...

  • plugin插件

    插件通常用来为 Vue 添加全局功能。 直接使用别人开发好的插件:Vue.use() 自己开发插件: Vue.js...

  • 二、路由安装

    插件 Vue.js 提供插件机制,即Vue.use(plugin) 安装VueRouter,这个插件会调用 plu...

  • Vue-resource总结

    Vue 实现 Ajax请求 和跨域请求主要是通过插件vue-resource.js。 引进 引进插件vue-res...

  • 我的 Chrome 插件集

    我的 Chrome 插件集 Vue.js devtools vue.js的调试工具 一键管理所有扩展 该插件可以快...

  • Intellij IDEA 部署Vue

    1. 在IDEA中配置vue插件 点击File-->Settings-->Plugins-->搜索vue.js插件...

  • vue入门基础

    1.安装git,通过npm install vue下载vue插件 2.通过script导入vue.js插件 3.然...

  • vue过滤器和案例实现

    使用vue插件 使用chrome浏览器调试插件Vue.js devtools 添加一行代码Vue.config.d...

网友评论

      本文标题:普通JS插件改写成Vue的插件

      本文链接:https://www.haomeiwen.com/subject/oxxqmftx.html