Javascript Vue.js未获取mqtt响应消息
我对Vue非常陌生,对于这个项目,我试图将默认值传递给Javascript Vue.js未获取mqtt响应消息,javascript,vue.js,vuejs2,vue-component,mqtt,Javascript,Vue.js,Vuejs2,Vue Component,Mqtt,我对Vue非常陌生,对于这个项目,我试图将默认值传递给Vue data return()。目前,它打印出控制台.log(“消息上的内部客户端”)。但是定义为this.room1status=1的值不会传递或更新到数据返回room1status。有没有一种方法可以将值1传递到vue的room1status,一旦它位于客户端中('MESSAGE',函数(主题、消息) 脚本 data(){ return{ room1status: '' } }, mou
Vue data return()
。目前,它打印出控制台.log(“消息上的内部客户端”)
。但是定义为this.room1status=1
的值不会传递或更新到数据返回room1status
。有没有一种方法可以将值1传递到vue的room1status
,一旦它位于客户端中('MESSAGE',函数(主题、消息)
脚本
data(){
return{
room1status: ''
}
},
mounted: function(){
var mqtt = require('mqtt')
var client = mqtt.connect('ws://myUrl/')
client.on('connect', function () {
client.subscribe('route_status', function (err) {
if (!err) {
client.publish('presence', 'Hello mqtt')
}
})
})
client.on('message', function (topic, message) {
var filterData = message;
var x = JSON.parse(filterData);
console.log('INSIDE CLIENT ON MESSAGE"); /** prints this out succesfully **/
this.room1status = 1; /** but this does not get passed or updated to data return room1status **/
}
}
函数回调上的中的此
不引用组件实例,因此在调用该回调之前,应将此
分配给变量vm
,然后在其中使用它:
var vm=this;
client.on('message', function (topic, message) {
var filterData = message;
var x = JSON.parse(filterData);
console.log('INSIDE CLIENT ON MESSAGE");
vm.room1status = 1;
}