1、父組件傳子組件
父組件內部寫法:
<template> <view> <h2>首頁</h2> <!-- 綁定自定義屬性傳遞數據 --> <Two :value="valPar"></Two> </view> </template> <script> //引入子組件 import Two from "../../components/two/two.vue" export default { data() { return { valPar:"父組件傳遞過來的值" } }, components:{ Two//注冊子組件 }, methods: { } } </script>
子組件內部寫法:
<template> <h2>two組件收到:{{value}}</h2> </template> <script> export default { props:{ value:{ type:String, default:"默認值" } }, data() { return { } }, created(){ } } </script>
2、子組件傳父組件 -- 寫法1
父組件內部寫法:
<template> <view> <!-- 接收到子組件傳遞的數據 --> <h2>接收到的值:{{valueChild}}</h2> <!-- 在子組件標簽上綁定子組件內部對應事件,並觸發對應回調 --> <One @Transmit="handle"></One> </view> </template> <script> //引入子組件 import One from "../../component/one.vue" export default { data() { return { valueChild:"",//定義屬性接收數據 } }, components:{ One//注冊子組件 }, onLoad(){ }, methods:{ // 子組件內部觸發事件對應回調handle handle(val){ this.valueChild=val; } } }
子組件內部寫法:
<template> <view> <h2>one組件</h2> <!-- 點擊按鈕進行事件觸發 --> <button @click="handleTransmit">點擊給父組件傳值</button> </view> </template> <script> export default { data() { return { //要傳遞的數據 valueParent: "子組件傳遞過來的數據" } }, methods: { handleTransmit() { // 進行事件觸發,傳遞數據 this.$emit("Transmit", this.valueParent) } } } </script> </script>
子組件傳父組件 -- 寫法2
父組件內部寫法:
<template> <view> <!-- 接收到子組件傳遞的數據 --> <h2>接收到的值:{{valueChild}}</h2> <Two></Two> </view> </template> <script> //引入子組件 import Two from "../../components/two/two.vue" export default { data() { return { valueChild:"",//定義屬性接收數據 } }, components:{ Two//注冊子組件 }, onLoad(){ // 進行事件綁定,val為子組件傳遞的數據 uni.$on("Transmit",(val)=>{ this.valueChild=val; }) } } </script>
子組件內部寫法:
<template> <view> <h2>two組件</h2> <!-- 點擊按鈕進行事件觸發 --> <button @click="handleTransmit">點擊給父組件傳值</button> </view> </template> <script> export default { data() { return { //要傳遞的數據 valueParent: "子組件傳遞過來的數據" } }, methods: { handleTransmit() { // 進行事件觸發,傳遞數據 uni.$emit("Transmit", this.valueParent) } } } </script>