您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關vue項目中如何實現在父組件點擊按鈕觸發子組件,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
我把這個實例分為幾個步驟解讀:
1、父組件的button元素綁定click事件,該事件指向notify方法
2、給子組件注冊一個ref=“child”
3、父組件的notify的方法在處理時,使用了$refs.child把事件傳遞給子組件的parentMsg方法,同時攜帶著父組件中的參數msg
4、子組件接收到父組件的事件后,調用了parentMsg方法,把接收到的msg放到message數組中
父組件
<template> <div id="app"> <!--父組件--> <input v-model="msg" /> <button v-on:click="notify">廣播事件</button> <!--子組件--> <popup ref="child"></popup> </div> </template> <script> import popup from "@/components/popup"; export default { name: "app", data: function () { return { msg: "", }; }, components: { popup, }, methods: { notify: function () { if (this.msg.trim()) { this.$refs.child.parentMsg(this.msg); } }, }, }; </script> <style> #app { font-family: "Avenir", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; margin-top: 60px; } </style>
子組件
<template> <div> <ul> <li v-for="item in messages">父組件輸入了:{{ item }}</li> </ul> </div> </template> <style> body { background-color: #ffffff; } </style> <script> export default { name: "popup", data: function () { return { messages: [], }; }, methods: { parentMsg: function (msg) { this.messages.push(msg); }, }, }; </script>
看完上述內容,你們對vue項目中如何實現在父組件點擊按鈕觸發子組件有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。