對于學校專案,我必須構建一個 vue js 應用程式。
我使用了emit 和:v-on 來交換來自子組件的資料和觸發方法,效果很好!這意味著它是路由器顯示的組件。
這是子組件:
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”日志永遠不會顯示……
你知道我做錯了嗎?我幾乎是個菜鳥
謝謝!
uj5u.com熱心網友回復:
您必須v-on:logout將 router-view 元素中的更改為v-on:logoutUser,v-on 必須具有與 $emit 相同的值。你也可以使用 @ 而不是 v-on 來縮短你的代碼:(所以@logoutUser="logoutUser")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/348567.html
標籤:javascript Vue.js Vuejs2 亲子 发射
