父組件可使用 props 把數據傳給子組件。web
子組件可使用 $emit 觸發父組件的自定義事件。
父組件svg
<template> <div> <login-layer @toLoginEvent='tologin' :title='logintitle'></login-layer> </div> </template> <script> import LoginLayer from "@/components/loginlayer" export default { name:'login', components: {LoginLayer}, data () { return { logintitle:"登陸", } }, methods:{ tologin(tel,code){//觸發子組件 console.log('tel:'+tel’) console.log('code:'+code’) } } }
<template> <div class="login-box"> <div class="head"> <div class="head-tit fz32 fw">{{title}}</div> </div> <div class="content fz28 corlor-999"> <div class="content-item"> <mt-field placeholder="請輸入手機號" type="tel" v-model="phone"></mt-field> </div> <div class="content-item"> <mt-field placeholder="請輸入驗證碼" type="number" v-model="code"></mt-field> </div> </div> <footer class="fz28"> <div class="footer-item login" @click.prevent="toLogin">當即登陸</div> </footer> </div> </template> export default { name: "login", data() { return { phone: '', code:'' }; }, props: { title: { type: String, default:'註冊' //validator: function(value) { //數據驗證 // return ( ///^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/.test(value) // ); } }, }, methods: { toLogin() { this.$emit('toLoginEvent',his.phone,this.code) }, } };