0
我使用vue.js,推杆和laravel来构建一个实时聊天应用程序。我可以很好地从Pusher收到信息;我可以输出JSON到控制台,它有正确的信息。我只是不确定如何使用fetchMessages抓取已存在的数据库中的消息,并追加收到的新Pusher消息并实时显示它们。Vue.js显示推杆数据Laravel 5.4
显示消息
<div id="app">
<article v-for="message in messages">
<h3> User ID: @{{ message.user_id }}</h3>
<p> @{{message.body}} </p>
</article>
</div>
Vue公司
new Vue({
el: '#app',
data: {
messages: []
},
ready: function() {
this.fetchMessages();
var pusher = new Pusher('key_here', {
encrypted: true
});
var channel = pusher.subscribe('cars');
channel.bind('App\\Events\\UserHasNewMessage', function(data) {
console.log(data);
/*
I can output my pusher data to the console just fine.
But how can I append this data to the existing messages?
*/
});
},
methods: {
fetchMessages: function() {
this.$http.get('/api/messages', function(messages){
this.$set('messages', messages);
});
}
}
})
内只需按下到消息阵列 –
像“this.messages.push(数据)”的新消息?它说推送是不确定的。 – fdsa
你不能使用'this',因为它是一个不同的函数上下文。您需要在函数外部别名'this',然后使用该别名。 –