最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 怎么写一个vue插件

    正文概述 掘金(颜酱)   2020-11-27   436

    最近在看vue的课程,说到vue插件,其实还蛮希望有一天自己能写一个vue插件。

    插件干嘛的呢,官网说有四种用途:

    • 添加全局方法或者属性
    • 添加全局资源,如directives, filters,transitions
    • 全局混入添加组件选项
    • 添加 Vue 实例方法,Vue.prototype.$xx=..
    MyPlugin.install = function (Vue, options) {
      // 1. 添加全局方法或 property
      Vue.myGlobalMethod = function () { }
    
      // 2. 添加全局资源
      Vue.directive('my-directive', {
        bind (el, binding, vnode, oldVnode) { }
      })
    
      // 3. 注入组件选项
      Vue.mixin({
        created: function () { }
      })
    
      // 4. 添加实例方法
      Vue.prototype.$myMethod = function (methodOptions) { }
    }
    

    如果你手上有好几个项目,每个项目都添加一些相似的全局方法、资源等,就可以试着写一个插件,这样方便管理,万一一不小心,可能成为网红,你就发了。

    怎么安装插件

    插件安装其实就两步:

    • 引入import xx from 'xx'
    • 再,Vue.use(xx),有时候可能需要加一个options

    怎么写插件

    先来个简单的!
    实现开始就打印vue-helloworld的插件!

    官网说了,Vue.use其实是执行了插件的install方法,且给install传了两个参数,一个Vue构造器,另一个就是可选的参数

    那么,vue-helloworld.js其实就很简单啦

    export default {
      install(Vue) {
        Vue.mixin({
          created() {
            console.log("hello-world");
          }
        });
      }
    };
    
    

    安装下:

    // main.js
    import Vue from "vue";
    import App from "./App.vue";
    
    // 这里
    import VueHelloworld from "./vue-helloworld";
    Vue.use(VueHelloworld);
    
    Vue.config.productionTip = false;
    
    new Vue({
      render: h => h(App)
    }).$mount("#app");
    
    

    这样启动项目,就看到控制台打印了hello-world了。


    起源地下载网 » 怎么写一个vue插件

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元