<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="lib/vue-2.4.0.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div id="app"> <!-- 父組件可以通過事件綁定的形式,傳遞給子組件的數據(v-on 事件綁定縮寫 @ ) --> <com1 v-on:parentshow='show'></com1> <p>{{childmsg}}</p> </div> <template id="temp"> <div> <h2>我是模板內容!</h2> <button type="button" @click="cl">dianji</button> </div> </template> <script type="text/javascript"> // 定義一個模板,組件中的components 直接調用就可以了 var com1={ template:'#temp', data(){ return { msg:{name:"張三",old:16} } }, methods:{ cl(){ // $emit ,調用觸發方法,可以傳多個參數,或自己的屬性 this.$emit('parentshow',123,this.msg) } } } var vm=new Vue({ el:'#app', data:{ msg:"我是一個父組件屬性!!", childmsg:"" }, methods:{ show(data,data2){ console.log("父組件被調用啦!"+data+data2.name+data2.old) // 將子組件的值,賦值給父組件的屬性,相當於父組件調用子組件的內容 this.childmsg=data2 } }, components:{ // 調用屬性 com1 } }) </script> </body> </html>