在我的 TaskList.vue 中,我有以下代码:
<template>
<div>
<ul>
<li v-for="task in tasks" v-text="task"></li>
</ul>
<input type="text" v-model="newTask" @blur="addTask">
</div>
</template>
<script>
export default {
data(){
return{
tasks: [],
newTask: ''
}
},
created(){
axios.get('tasks')
.then(
response => (this.tasks = response.data)
);
Echo.channel('task').listen('TaskCreated', (data) => {
this.tasks.push(data.task.body);
});
},
methods:{
addTask(){
axios.post('tasks', { body: this.newTask })
this.tasks.push(this.newTask);
this.newTask = '';
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
当我点击 axios.post('tasks') 端点时,我在当前选项卡中得到了重复的结果,我输入了该值,而另一个选项卡只有 1 个正确的值。
为了避免这种情况,我尝试使用 broadcast(new TaskCreated($task))->toOthers();
或者
I put $this->dontBroadcastToCurrentUser() in the construct of my TaskCreated.php
However, …