我必须通过
脚本加载vue-native-websocket
这是我的 OrdersCurrent.js
Vue.use(VueNativeSock,'wss:// localhost / ws / current-orders / 1',{
重新连接:是的,
重新连接尝试:5,
reconnectionDelay:3000,
格式:“ json”,
});
var app = new Vue({
el:“#orders-current-app”,
分隔符:['{*','*}'],
创建:函数(){
var vm = this;
this。$ options.sockets.onmessage =函数(数据){
vm.messageReceived(data);
}
},
数据:{
讯息:“嗨Vue!”
},
方法: {
sendMessage:函数(事件){
消息= event.target.value;
this。$ socket.sendObj({message:message});
event.target.value =''
},
receiveMessage:function(websocketMessage){
var data = JSON.parse(websocketMessage.data);
this.messages.push(data.message);
}
}
});
类似于 Vue.use
在这种情况下不起作用。我收到以下错误
vue.js:597 [Vue警告]:创建的挂钩中发生错误:“ TypeError:无法设置未定义的属性'onmessage'
(位于中)
警告@ vue.js:597
logError @ vue.js:1739
globalHandleError @ vue.js:1734
handleError @ vue.js:1723
callHook @ vue.js:2923
Vue._init @ vue.js:4617
Vue @ vue.js:4716
(匿名)@ OrdersCurrent.js:8
vue.js:1743 TypeError:无法设置未定义的属性'onmessage'
在Vue.created(OrdersCurrent.js:13)
在callHook(vue.js:2921)
在Vue._init(vue.js:4617)
在新的Vue(vue.js:4716)
在OrdersCurrent.js:8
答案 0 :(得分:0)
需要使用VueNativeSock.default
而不是VueNativeSock
。 CDN上尚未安装vue-native-script
插件。
Vue.use(VueNativeSock, 'wss://localhost/ws/current-orders/1', {
reconnection: true,
reconnectionAttempts: 5,
reconnectionDelay: 3000,
format: 'json',
});