Vue中父子組件的值傳遞與方法傳遞
更新時間:2020年09月28日 09:27:22 作者:WanGqD
這篇文章主要介紹了Vue中父子組件的值傳遞與方法傳遞,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
一.Vue中父組件向子組件傳值
利用v-bind向子組件傳值,子組件中利用props接受
<div id="app"> <father></father> </div> <template id="father"> <div> <!--注意點: 組件是可以使用自己的數(shù)據(jù)的--> <p>{{name}}</p> <p>{{age}}</p> <!--這里將父組件的name通過parentname傳遞給了子組件--> <son :parentname="name" :abc="age"></son> </div> </template> <template id="son"> <div> <!--這里通過parentname使用了父組件傳遞過來的數(shù)據(jù)--> <p>{{parentname}}</p> <p>{{abc}}</p> </div> </template> <script> // 父組件 Vue.component("father", { template: "#father", data: function(){ return { name: "wqd", age: 21 } }, // 子組件 components: { "son": { template: "#son", //這里通過parentname接收了父組件傳遞過來的數(shù)據(jù) props: ["parentname", "abc"] } } }); // 這里就是MVVM中的View Model let vue = new Vue({ el: '#app', // 這里就是MVVM中的Model data: { }, }); </script>
二.Vue中父組件向子組件傳遞方法
父組件利用v-on傳值,子組件this.$emit來接收
<div id="app"> <father></father> </div> <template id="father"> <div> <button @click="say">我是按鈕</button> <!--這里通過parentsay將父組件的say方法傳遞給了子組件--> <son @parentsay="say"></son> </div> </template> <template id="son"> <div> <button @click="sonFn">我是按鈕</button> </div> </template> <script> // 父組件 Vue.component("father", { template: "#father", methods: { say(){ console.log("helloworld") } }, // 子組件 components: { "son": { template: "#son", /* 注意點: 和傳遞數(shù)據(jù)不同, 如果傳遞的是方法, 那么在子組件中不需要接收,需要在子組件自定義的方法中通this.$emit("自定義接收的名稱")的方法來觸發(fā)父組件傳遞過來的方法 */ // props: ["parentsay"] methods: { sonFn(){ this.$emit("parentsay"); } } } } }); // 這里就是MVVM中的View Model let vue = new Vue({ el: '#app', // 這里就是MVVM中的Model data: { }, }); </script>
三.Vue中子組件向父組件傳值
this.$emit中第一個參數(shù)為接收父組件傳遞的方法,第二個參數(shù)即為向父組件傳遞的值
<div id="app"> <father></father> </div> <template id="father"> <div> <button @click="say">我是按鈕</button> <!--這里通過parentsay將父組件的say方法傳遞給了子組件--> <son @parentsay="say"></son> </div> </template> <template id="son"> <div> <button @click="sonFn">我是按鈕</button> </div> </template> <script> // 父組件 Vue.component("father", { template: "#father", methods: { //data用來接受子組件傳遞的值 say(data){ console.log(data); } }, // 子組件 components: { "son": { template: "#son", methods: { sonFn(){ // 第一個參數(shù): 需要調用的函數(shù)名稱 // 后續(xù)的參數(shù): 給調用的函數(shù)傳遞的參數(shù) this.$emit("parentsay", "你好"); } } } } }); // 這里就是MVVM中的View Model let vue = new Vue({ el: '#app', // 這里就是MVVM中的Model data: { }, }); </script>
到此這篇關于Vue中父子組件的值傳遞與方法傳遞的文章就介紹到這了,更多相關Vue父子組件傳遞內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
- vue父子組件的互相傳值和調用
- vue 使用 v-model 雙向綁定父子組件的值遇見的問題及解決方案
- vue中父子組件的參數(shù)傳遞和應用示例
- Vue父子組件傳值的一些坑
- 詳解vue父子組件狀態(tài)同步的最佳方式
- Vue 組件的掛載與父子組件的傳值實例
- vue中組件通信詳解(父子組件, 爺孫組件, 兄弟組件)
- vue中父子組件傳值,解決鉤子函數(shù)mounted只運行一次的操作
- 快速了解Vue父子組件傳值以及父調子方法、子調父方法
- vue父子組件間引用之$parent、$children
- vue.js使用v-model實現(xiàn)父子組件間的雙向通信示例
- vuejs中父子組件之間通信方法實例詳解
- Vue組件通信中非父子組件傳值知識點總結
- Vue 使用Props屬性實現(xiàn)父子組件的動態(tài)傳值詳解
- vue父子組件的通信方法(實例詳解)
- vue-父子組件和ref實例詳解
- vue父子組件通信的高級用法示例
- Vue中的父子組件通訊以及使用sync同步父子組件數(shù)據(jù)
相關文章
vue2.0設置proxyTable使用axios進行跨域請求的方法
這篇文章主要介紹了vue2.0設置proxyTable使用axios進行跨域請求,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10vue修改打包配置如何實現(xiàn)代碼打包后的自定義命名
這篇文章主要介紹了vue修改打包配置如何實現(xiàn)代碼打包后的自定義命名,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05