我正在为构建的应用程序使用Nuxt js SSR,我安装了Vue Event插件,但是当我发出事件时,它将在侦听器上运行两次。创建的钩子也运行两次。
模块正在使用: Axios,Auth,Toast
子组件
methods: {
initPlaylist(songs) {
console.log(songs)
}
},
mounted () {
this.$events.$on('playAll', data => {
this.initPlaylist(data.songs) //runs twice
})
}
父组件
method () {
playAll (songs) {
this.$events.$emit('playAll', songs)
}
}
我该如何解决这个问题?我需要你的帮助。
答案 0 :(得分:0)
也许您只需要在客户端调用该父方法。
您可以编写这样的代码以防止在服务器端发出:
methods: {
playAll(songs) {
if (process.server) return
this.$events.$emit('playAll', songs)
}
}
或不要在服务器端调用playAll方法。 (例如:已创建,已安装...)