开发者问题收集

Vue.js 动态使用字符串

2018-06-02
286

我正在尝试使用 vue-native-websocket ,并且 wss 是动态的,因为它需要访问令牌。

所以我有这个:

import VueNativeSock from 'vue-native-websocket';
Vue.use(VueNativeSock, this.monitor);

export default {
  created() {
    this.$options.sockets.onmessage = this.handleToggle;
  },
  data() {
    return {
      type: false
    };
  },
 methods: {
    handleToggle(data) {
      const object = JSON.parse(data.data);
      console.log(object);
      this.status = object.data;
    }
  },
  props: ['items', 'monitor']
};

如您所见, prop monitor 已传递,但在执行 Vue.use() 时...我得到了 undefined 。如何将动态变量传递给 Vue use

1个回答

Vue.use 用于全局注册插件。

我之前没有使用过 vue-native-websocket 。但是

import VueNativeSock from 'vue-native-websocket';
Vue.use(VueNativeSock, ....);

应该在 Vue 启动的地方执行( new Vue({...}) 的位置,在典型的 vue-cli 生成的项目中,它位于 main.js 中。)。而不是在组件内部。

Vue.use 也应该在 main.js 中的 new Vue({...}) 之前执行。

因此, 我认为您无法使 wss 动态化,除非此插件有指定的方法供您执行此操作。

Jacob Goh
2018-06-02