【发布时间】:2021-12-17 22:27:17
【问题描述】:
对于一个学校项目,我必须构建一个 vue js 应用程序。
我使用 emit 和 :v-on 从子组件交换数据和触发方法,效果很好!现在我想从子组件做同样的事情,那就是 vue。这意味着它是路由器显示的组件。
这是子组件:
methods: {
logout () {
console.log("logout child")
this.$emit('logoutUser', this.user)
}
},
和 app.vue:
<router-view v-if="this.user.isConnected && this.user.username != ''" :userProp="user" v-on:logout="logoutUser"></router-view>
[...]
logoutUser(user) {
console.log("logout App.vue", user)
}
我从孩子那里得到了日志:“logout child”,但我无法访问 App.vue 中的方法 logoutUser...“logout App.vue”日志永远不会显示...
你知道我做错了吗?我几乎是个菜鸟
谢谢!
【问题讨论】:
-
你正在监听
logout事件而不是logoutUser
标签: javascript vue.js vuejs2 parent-child emit