vue中怎么實現組件間參數傳遞,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創(chuàng)新互聯(lián)公司服務緊隨時代發(fā)展步伐,進行技術革新和技術進步,經過10年的發(fā)展和積累,已經匯集了一批資深網站策劃師、設計師、專業(yè)的網站實施團隊以及高素質售后服務人員,并且完全形成了一套成熟的業(yè)務流程,能夠完全依照客戶要求對網站進行成都網站建設、網站設計、建設、維護、更新和改版,實現客戶網站對外宣傳展示的首要目的,并為客戶企業(yè)品牌互聯(lián)網化提供全面的解決方案。
舉例說明
例如:element-ui組件庫中使用switch開關,有個屬性active-color是設置“打開時”的背景色。change事件是觸發(fā)狀態(tài)的事件。
<el-switch v-model="value" :active-color="activecolor" @change="touchSwitch"> </el-switch> <script> export default { data() { return { value: true, activecolor: '#13ce66' } }, methods: { touchSwitch () { // 這里入方法 } } }; </script>
分析代碼
我們分析上面的代碼
首先我們可以看到active-color是將特定的數據傳給組件,也就是父傳子組件。
其次是@change雖然監(jiān)聽的是改變事件,但是語法糖依然是$emit,什么emit我們在以后的文章中會講到,就是“拋出事件”。
這就分為組件的最基本功能:
?數據進
?事件出
那組件的使用我們知道了,通過active-color傳入參數,通過@來接收事件。
所以,我們來探究一下組件的內部結構是什么樣的?
我寫了一個小模型,是一個顯示標題的小按鈕,通過div包裹。
<!-- type-box.vue --> <template> <div class="box" @click="ai_click(title)">{{title}}</div> </template> <script> export default { name: 'type-box', props: { title: { type: String, default: () => '' } }, methods: { ai_click (title) { this.$emit('ai_click', title) } } } </script> <style scoped> .box{ width: 250px; height: 100px; margin: 10px; border-radius: 10px; background-color: #3a8ee6; color: white; font-size: 25px; line-height: 100px; text-align: center; cursor: pointer; } </style>
使用方法:
<!-- 父組件使用 --> <template> <div> <type-box title="演示盒子" @ai_click=“touch”></type-box> </div> </template> <script> import typeBox from './type-box' export default { components: { typeBox }, methods: { touch (data) { console.log(data) } } } </script>
分析組件
接收
通過props接收父組件傳遞過來的數據,通過工廠函數獲取一個默認值。
傳遞
通過this.$emit('ai_click', title)
告訴父組件,我要傳遞一個事件,名字叫“ai_click”,請通過@ai_click接收一下,并且我將title的值返回父組件。
關于vue中怎么實現組件間參數傳遞問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。
本文題目:vue中怎么實現組件間參數傳遞
分享路徑:http://www.rwnh.cn/article10/jeecdo.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供全網營銷推廣、網站維護、微信小程序、網頁設計公司、商城網站、網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)