Laravel Redis使用vue显示袜子数据

我用laravel创build了一个简单的事件类,如果发出通知,事件类看起来像这样,

class InquirySent extends Event implements ShouldBroadcast { use SerializesModels; public $inquiries; public function __construct($inquiries) { $this->inquiries = $inquiries; } public function broadcastOn() { return ['inquiry-sent-channel']; } } 

我开始这个事件(创build一个新实例):

  # fire inquiry notification event event(new InquirySent( $user->notifications()->where('type', InvoiceInquiry::class)->count() )); 

我用这个脚本build立了我的节点服务器:

 var server = require('http').Server(); var io = require('socket.io')(server); // class declaration var Redis = require('ioredis'); /** * Redis UserSignedUp Channel */ var redisSignedUp = new Redis(); redisSignedUp.subscribe('signed-up-channel'); /** * Redis InquirySent Channel */ var redisInquirySent = new Redis(); redisInquirySent.subscribe('inquiry-sent-channel'); redisInquirySent.on('message', function(channel, message) { message = JSON.parse(message); console.log(message.data.inquiries); io.emit(channel + ':' + message.event, message.data.inquiries); }); // run server on port X server.listen(3000); 

在我的event.js中,我将其绑定为:

 var socket = io('http://192.168.3.115:3000'); new Vue({ el: '#app', data: { inquiries: [], }, ready: function() { // InquirySent event socket.on('inquiry-sent-channel:App\\Events\\InquirySent', function(data) { console.log(data); this.inquiries.push(data); }.bind(this)); } }); 

控制台(命令行)在我的情况下返回正确的值:69

但是如果我尝试用vue.js将其放入视图中,则不会显示任何内容,也不会在浏览器控制台中看到任何错误:

 <li v-for="inquiry in inquiries">@{{ inquiry }}</li>