Javascript 在Vuejs中的数据内调用方法

Javascript 在Vuejs中的数据内调用方法,javascript,vue.js,mqtt,arrow-functions,paho,Javascript,Vue.js,Mqtt,Arrow Functions,Paho,我试图在vue.js中与Paho进行MQTT连接,但options对象存在一些问题 Vue.component('component'{ 模板:``, 数据:()=>({ mqtt:null, 选项:{ 超时时间:3, onSuccess:()=>this.success(),//问题出在这里 onFailure:()=>this.failure(), }, 主持人:“10.0.0.11”, 港口:8083, 客户端:“网络客户端”, 主题:“mqtt” }), 方法:{ 成功:()=>{ 控制

我试图在vue.js中与Paho进行MQTT连接,但options对象存在一些问题

Vue.component('component'{
模板:``,
数据:()=>({
mqtt:null,
选项:{
超时时间:3,
onSuccess:()=>this.success(),//问题出在这里
onFailure:()=>this.failure(),
},
主持人:“10.0.0.11”,
港口:8083,
客户端:“网络客户端”,
主题:“mqtt”
}),
方法:{
成功:()=>{
控制台日志(“Conexion completa”);
this.mqtt.subscribe(this.topic);
},
失败:(msg)=>{
控制台日志(“错误”);
控制台错误(msg);
},
信息(msg){
console.log(“Mensaje”+msg.payloadString);
},
连接(){
console.log(“conectando”);
this.mqtt=new Paho.mqtt.Client(this.host、this.port、this.Client);
this.mqtt.onMessageArrived=this.message;
this.mqtt.connect(this.options);
}
},
挂载(){
这个.connect();
}
});
如果不执行任何操作,则永远不会调用
success
方法。但是,如果我改变,
.connect
,这就是工作

this.mqtt.connect({onSuccess:()=>{this.mqtt.subscribe(this.topic)});
以前,我在数据上调用函数时遇到很多问题,给了我诸如“成功不是函数”之类的错误。现在,这不会显示任何错误

编辑:下一个代码可以工作,但订阅函数什么也不做

this.mqtt.connect({onSuccess:this.success});

只需更改
数据
即可不使用箭头功能,即

数据(){
返回{
mqtt:null,
选项:{
超时时间:3,
onSuccess:()=>this.success(),
onFailure:()=>this.failure(),
},
主持人:“10.0.0.11”,
港口:8083,
客户端:“网络客户端”,
主题:“mqtt”
}
}
您的任何方法都不应使用箭头函数。使它们都是普通对象方法

方法:{
成功(){
控制台日志(“Conexion completa”);
this.mqtt.subscribe(this.topic);
},
//等
}

这个
不是指新功能的本地范围吗?我想你是想在成功上取得
:这个。成功
。再次感谢Phil,jaja,这是你第二次帮助我。你解决了我所有的问题,工作得很好。(注:“jaja”在西班牙语中是“haha”)@DrakoPD De nada