Javascript Vue OptionMergeStregies方法无法访问';这';关键词

Javascript Vue OptionMergeStregies方法无法访问';这';关键词,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我正在尝试为Vue构建一个插件。 我的插件对每个组件都有一个自定义方法调用者customMethod,我希望它在安装/创建页面后运行。 简单地说,这是我想要的工作方式,但是我在访问customMethod内部的这时遇到了问题 当我尝试console.log(this)时,它记录“未定义” 那么,我如何在我的customMethod中访问这个 var defaultParms=Object.freeze({ 开始:函数(){}, 左:函数(){}, }); 常量myPlugin={ 安装(Vue

我正在尝试为Vue构建一个插件。 我的插件对每个组件都有一个自定义方法调用者
customMethod
,我希望它在安装/创建页面后运行。 简单地说,这是我想要的工作方式,但是我在访问customMethod内部的
时遇到了问题

当我尝试
console.log(this)
时,它记录“未定义”

那么,我如何在我的
customMethod
中访问
这个

var defaultParms=Object.freeze({
开始:函数(){},
左:函数(){},
});
常量myPlugin={
安装(Vue,选项=[]){
var ref=Vue.util;
变量扩展=参考扩展;
var资产=Object.create(空);
延期(资产、违约金);
Vue.options.customMethod=资产;
//集合选项合并策略
var strats=Vue.config.optionmergestrages;
如果(斯特拉斯){
strats.customMethod=(父、子、vm)=>{
如果(!child)返回父对象;
如果(!parent)返回子级;
var ret=Object.create(null);
扩展(ret,父级);
for(变量键在子项中){
ret[key]=子项[key];
}
回程网
};
}
米辛({
自定义方法:{
开始:函数(){
console.log('hi')//log'hi'
console.log(this.$appName)//日志“未定义”
}
},
已创建:函数(){
if(此.$options.customMethod){
this.$options.customMethod.start&&this.$options.customMethod.start();
}
}
});
Vue.prototype.$appName='vikash';
}
}
Vue.use(myPlugin)
新Vue().$mount(“#app”)


这是JS中上下文
的一部分。您需要使用
bind
call
apply
对其进行设置:

this.$options.customMethod.start.call(this)