Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue.js未获取mqtt响应消息_Javascript_Vue.js_Vuejs2_Vue Component_Mqtt - Fatal编程技术网

Javascript Vue.js未获取mqtt响应消息

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非常陌生,对于这个项目,我试图将默认值传递给
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; 
    }