Javascript Vue创建插件

Javascript Vue创建插件,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我觉得有点像我错过了一些非常简单的东西,但我一直在尝试不同的东西,到处搜索,不知道如何在我的Vue应用程序中使用自定义插件的方法 在“vuePlugin.js”中,我有如下内容: const myPlugin = {}; myPlugin.install = function(Vue, options){ Vue.myMethod = function(){ console.log("It worked!"); } } 在我的main.js中,我有: impor

我觉得有点像我错过了一些非常简单的东西,但我一直在尝试不同的东西,到处搜索,不知道如何在我的Vue应用程序中使用自定义插件的方法

在“vuePlugin.js”中,我有如下内容:

const myPlugin = {};
myPlugin.install = function(Vue, options){
    Vue.myMethod = function(){
        console.log("It worked!");
    }
}
在我的main.js中,我有:

import myPlugin from './js/vuePlugin.js'
Vue.use(myPlugin);
然后在我的App.vue中,我有:

export default {
    name: 'app',
    props: {},
    data () {
        return{ someData: 'data' }
    },
    beforeCreate: function(){
        myMethod();
    }
}
由此我得到一个错误,myMethod没有定义

我试着说:

var foo = myPlugin();
console.log(foo);
在我的控制台中,我得到一个名为install的对象,其中包含参数: 异常:TypeError:“调用者”和“参数”是受限制的函数属性,无法在此上下文中访问。at Function.remoteFunction


所有的文档似乎只是展示了如何创建和使用插件,而不是实际如何访问插件中的任何内容。我这里缺少什么?

您必须导出要在vuejs中使用的对象,如下所示

文件vuePlugin.js

在调用方法时,不能直接调用该方法,必须使用如下代码

文件App.vue


希望它能帮助您

您必须导出要在vuejs中使用的对象,如下所示

文件vuePlugin.js

在调用方法时,不能直接调用该方法,必须使用如下代码

文件App.vue


希望它能对您有所帮助

我没有使用vue的经验,但我做了一些修改,并调用了vue.myMethod;在beforeCreate作品中,或许可以尝试一下。另外,我使用的是新vue,没有vue方面的经验,但我做了一些修改,并调用了vue.myMethod;在beforeCreate作品中,或许可以尝试一下。而且我只使用了新的Vue
const myPlugin = {}
myPlugin.install = function (Vue, options) {
  Vue.myMethod = function () {
    console.log('It worked!')
  }
  Vue.prototype.mySecondMethod = function () {
     console.log('My second Method ')
  }
}
export default myPlugin
export default {
    name: 'app',
    props: {},
    data () {
        return{ someData: 'data' }
    },
    beforeCreate: function(){
        Vue.myMethod(); // call from Vue object , do not directly  call myMethod() 
        this.mySecondMethod() // if you used prototype based method creation in your plugin 
    }
}