vue子組件使用自定義事件向父組件傳遞數(shù)據(jù)
使用v-on
綁定自定義事件可以讓子組件向父組件傳遞數(shù)據(jù),用到了this.$emit
(‘自定義的事件名稱',傳遞給父組件的數(shù)據(jù))
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="../js/vue.js"></script> </head> <body> <div id="app"> <parent-component></parent-component> </div> <template id="parent-component"> <div> <p>總數(shù)是{{total}}</p> <child-component @increment="incrementTotal"></child-component> <!--@increment是子組件this.$emit('increment'自定義的事件用來告訴父組件自己干了什么事 然后會觸發(fā)父子間incrementTotal的方法來更新父組件的內(nèi)容)--> </div> </template> <template id="child-component"> <button @click="increment()">{{mycounter}}</button> </template> <script> var child=Vue.extend({ template:"#child-component", data:function () { return { mycounter:0 } }, methods:{ increment:function(){ this.mycounter=10; this.$emit("increment",this.mycounter);//把this.mycounter傳遞給父組件 } } }) var parent=Vue.extend({ data:function () { return { total:0 } }, methods:{ incrementTotal:function(newValue){ this.total+=newValue; } }, template:"#parent-component", components:{ 'child-component':child } }) var vm=new Vue({ el:"#app", components:{ 'parent-component':parent } }) </script> </body> </html>
@increment是子組件this.$emit('increment'自定義的事件,newValue)用來告訴父組件自己干了什么事
同時還可以傳遞新的數(shù)據(jù)給父組件
然后會觸發(fā)父子間incrementTotal的方法來更新父組件的內(nèi)容)。
這里需要注意幾個點:
1.
圖中紅色圈中的部分是對應的,子組件在自己的methods方法里面寫自己的事件實現(xiàn),然后再父組件里面寫字組件時給子組件綁定上methods方法里面的
事件名稱,要一一對應
這里自定義事件里面的要寫父組件的方法名,父組件里面定義該方法。
父組件里面的方法可以接收子組件this.$emit('increment',this.mycounter);
傳遞過來的數(shù)值:this.mycounter
,
到父組件的方法里面就是newValue參數(shù),這樣就實現(xiàn)了子組件向父組件傳遞數(shù)據(jù)
以上所述是小編給大家介紹的vue子組件使用自定義事件向父組件傳遞數(shù)據(jù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
Vue如何通過Vue.prototype定義原型屬性實現(xiàn)全局變量
在Vue.js開發(fā)中,通過原型屬性為Vue實例添加全局變量是一種常見做法,使用$前綴命名,可以避免與組件內(nèi)部的數(shù)據(jù)、方法或計算屬性產(chǎn)生命名沖突,這種方式簡單有效,確保了變量在所有Vue實例中的可用性,同時保持全局作用域的整潔2024-10-10Vue.js結合bootstrap前端實現(xiàn)分頁和排序效果
這篇文章主要為大家詳細介紹了Vue.js結合bootstrap 前端實現(xiàn)分頁和排序效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12electron-vite新一代electron開發(fā)構建工具
這篇文章主要介紹了electron-vite新一代electron開發(fā)構建工具,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04表格Table實現(xiàn)前端全選所有功能方案示例(包含非當前頁)
這篇文章主要為大家介紹了表格Table實現(xiàn)前端全選所有功能,包括非當前頁的方案示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-02-02element-ui 實現(xiàn)響應式導航欄的示例代碼
這篇文章主要介紹了element-ui 實現(xiàn)響應式導航欄的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05