vuejs 发出 soket.io 麻烦

vuejs emit from soket.io trouble

我正在尝试使用套接字从服务器获取数据。 但是vue不填table,因为客户端有一个数组,而服务端有returns个对象

服务器端

...
const r = require('rethinkdb');
const io = socketIO(server);
r.connect(db)  
    .then(conn => {
        io.on('connection', (client) => {
             r.table('messages')
                 .run(conn)
                 .then(cursor => {
                     cursor.each((err, message) => {
                         io.sockets.emit('messages', message);
                     });
                 });

client-vue

<template>
....
 <table>
 <tr>
   <th>name</th>
   <th>message</th>
   <th>date</th>
 </tr>
 <tr v-for="object in objects" :key="object.id">
   <td>{{object.id}}</td>
   <td>{{object.name}}</td>
   <td>{{object.message}}</td>
   <td>{{object.date}}</td>
 </tr>
 </table>
    ...
    <script>     
    export default {
      name: 'App',
      data () {
        return {
          objects: []
        }
      },
      methods: {
        send () {
          this.$socket.on('test',message => {
              this.objects = message  
              console.log(message)
              })                      
        }
      }

在控制台中: 但是 vue 需要对象数组: myrepo(完整代码) https://github.com/EvgenJin/REVN_project

你应该只对数组使用 push。

this.$socket.on('test', message => {
    this.objects.push(message)
}) 

因为在 HTML 中你需要一个对象数组。