美文网首页
关于自定义Vue插件的两种常见形式

关于自定义Vue插件的两种常见形式

作者: maosheng | 来源:发表于2017-11-23 10:10 被阅读0次

自定义的vue插件,在我的理解中,分为两种:

1.注册成全局组件的形式

比如,你在main,js中Vue.use(yourPlugin) 然后在你的页面内可以这样使用

<template>
  <div id="yourPage">
    <yourPlugin></yourPlugin>
  </div>
</template>

2.注册成全局函数的形式

同样在main.js中Vue.use(yourPlugin)
但是在你的页面内是使用函数的形式调用的,比如

<template>
</template>
<script>
export default {
  mounted: {
    this.$yourPlugin.show({ yourData })
  }
}
</script>

第一种形式可以参考这位大大的 http://www.jianshu.com/p/d6855556cd75

主要记录一下第二种
js文件修改为

import temp from './temp.vue'
const pluginModel= {
  install (Vue, options) {
    // Vue.component(temp.name, temp)
    const Plugin= Vue.extend(temp)
    let pluginBox= document.querySelector('.plugin-box')
    function $pluginModel() {}
    $pluginModel.show = (data) => {
      return new Promise((resolve) => {
        if (!pluginBox) {
          pluginBox= new Plugin()
          pluginBox.$mount()
          document.querySelector('body').appendChild(pluginBox.$el)
        }
        pluginBox.show(data)
        resolve()
      })
    }
    Vue.prototype.$pluginModel= $pluginModel
  }
}

export default pluginModel

vue文件基本不变

<template lang="html" name="fade">
  <div class="plugin-box" v-if="isShow" @click="hide">
    <h1>瞧一瞧看一看啦哈</h1>
  </div>
</template>

<script>
export default {
  name: 'plugin',
  data () {
    return {
      isShow: false
    }
  },
  methods: {
    show: function (data) {
      this.isShow= true
    },
    hide: function () {
      this.isShow= false
    }
  }
}
</script>

<style lang="css">
</style>

然后在main.js中引入js文件并Vue.use(yourPlugin)

...
import yourPlugin from './yourPlugin.js'
Vue.use(yourPlugin)
...

使用方法放在最上面那里

相关文章

  • 关于自定义Vue插件的两种常见形式

    自定义的vue插件,在我的理解中,分为两种: 1.注册成全局组件的形式 比如,你在main,js中Vue.use(...

  • Vue2.0双向绑定源码分析

    A:vue的双向绑定 B:vue自定义插件 C:vue混入

  • Vue插件

    官网插件地址官网自定义指令参考文章参考文章 一、Vue插件介绍 理解插件与组件 一个Vue插件可以是一堆Vue组件...

  • Vue插件开发

    项目里的iview是以插件的形式引入的,于是便了解了一下Vue的插件。插件通常会为Vue添加全局功能。 插件的使用...

  • 自定义cordova插件

    自定义cordova插件 cordova可以通过自定义插件的形式,通过js调用原生的功能。 打开webview的P...

  • 9. Preparing themes for communit

    9.1 Introduction / 简介本章节将介绍如何准备自定义主题。将自定义的主题放在插件中,并以插件的形式...

  • Vue.js插件书写规范

    Vue插件书写规范,导出install方法 使用时,可以通过以上主流写法将自定义插件挂载到Vue上面: 闭包里ex...

  • Vuex 原理

    1、Vue.use(Vuex):将Vuex 应用到Vue中 use是一个自定义插件,这个插件里有一个固定方法ins...

  • Capacitor实现WebView中访问的自定义Android

    前言 Capacitor 自定义插件 实现WebView中访问的自定义Android代码 最近在工作中使用Vue+...

  • Vue3.x

    一. 项目搭建及自定义脚手架模板 二. 添加插件 vue add eg:vue add vuetify 2.x版...

网友评论

      本文标题:关于自定义Vue插件的两种常见形式

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