最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

uniapp組件傳值的方法(父傳子,子傳父,對象傳值)實戰(zhàn)案例

 更新時間:2023年03月01日 11:03:28   作者:北海的大魚  
現(xiàn)在的前端開發(fā)中基本上都是組件化開發(fā)的,下面這篇文章主要給大家介紹了關(guān)于uniapp組件傳值(父傳子,子傳父,對象傳值)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

前言

最近看到uniapp組件傳值的方法,這里記錄一下,學(xué)過vue的應(yīng)該都覺得很簡單,傳值的方法基本與vue的寫法差不多

父組件給子組件傳值

創(chuàng)建子組件comp.vue,然后在index.vue父頁面使用該組件:

<template>
	<view class="content">
		<image class="logo" src="/static/logo.png"></image>
		<comp :name="name" @getMsg="openMsg"></comp>
	</view>
</template>
<script>
	import comp from '../../components/comp.vue'
	import phone from '../../components/phone.vue'
	import phoneItem from '../../components/phoneItem.vue'
	export default {
		components: {
			comp,
		},
		data(){
			name: 'parent',
		}
	}
</script>

可以看到在上面的index頁面中有一個數(shù)據(jù)為name,我們下面使用props將父組件的name值傳給子組件comp.vue。首先在父組件中使用子組件的上面進行綁定傳參:

<comp :name="name" ></comp>

然后在子組件comp.vue中使用props接收父組件傳過來的值:

然后設(shè)置一個點擊事件打印拿到的name的值

<script>
	export default {
		// 接收父傳給子的參數(shù)
		props:{
			name: String
		},
		methods: {
			sendMsg() {
				console.log(this.name)
			}
		}
	}
</script>

打印的值:

子組件給父組件傳值

在子組件中使用this.$emit對父組件進行傳值

在comp.vue中:

methods: {
	sendMsg() {
		//子傳父
		this.$emit('getMsg', "我是子,"+this.name);
	}
}

在index.vue中:

定義openMsg方法綁定給@getMsg

<comp :name="name" @getMsg="openMsg"></comp>

然后寫openMsg方法:打印傳過來的值

methods: {<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->openMsg(msg) {<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->console.log(msg)}}

結(jié)果如下:這樣子組件編寫的值傳到了父組件中打印了出來

在這里插入圖片子①述

父組件給父組件傳對象值

父給子傳值還是使用props方法,只是傳對象的話寫法有些區(qū)別

在父組件中:

<phoneItem v-for="(item,index) in songList" :item="item" :key="index"/>

現(xiàn)需要將song中songList的值傳過去

<script>
	import phoneItem from '../../components/phoneItem.vue'
	export default {
		components: {
			phoneItem
		},
		data() {
			return {
				title: 'Hello',
				name: 'parent',
				song: {
									img: 'http://gw.alicdn.com/bao/uploaded/i3/1917047079/O1CN01VlEDD522AEJzpw3A5_!!2-item_pic.png_360x10000.jpg',
									title: 'Apple/蘋果 iPhone 11 Pro',
									price: '8699.00',
									marketPrice: '¥8699.00',
								},
								songList: [
									{
										img: 'http://gw.alicdn.com/bao/uploaded/i3/1917047079/O1CN01VlEDD522AEJzpw3A5_!!2-item_pic.png_360x10000.jpg',
										title: 'Apple/蘋果 iPhone 11 Pro',
										price: '8699.00',
										marketPrice: '¥8699.00',
									},
									{
										img: 'http://gw.alicdn.com/bao/uploaded/i3/1917047079/O1CN01VlEDD522AEJzpw3A5_!!2-item_pic.png_360x10000.jpg',
										title: 'Apple/蘋果 iPhone 11 Pro',
										price: '8699.00',
										marketPrice: '¥8699.00',
									},
									{
										img: 'http://gw.alicdn.com/bao/uploaded/i3/1917047079/O1CN01VlEDD522AEJzpw3A5_!!2-item_pic.png_360x10000.jpg',
										title: 'Apple/蘋果 iPhone 11 Pro',
										price: '8699.00',
										marketPrice: '¥8699.00',
									},
								]
			}
		}
	}
</script>

子組件中進行接收:

<template>
	<view class="phone">
		<image :src="item.img" mode="widthFix"></image>
		<view >
			{{item.title}}
		</view>
		<view class="">
			<view class="price">
				¥{{item.price}}
			</view>
			<view class="market-price">
				{{item.marketPrice}}
			</view>
		</view>
	</view>
</template>
<script>
	export default {
		//父傳給子的參數(shù)
		props: {
			item: {
				type: Object,
				default() {
					return {}
				}
			}
		}
	}
</script>

運行結(jié)果:

這樣就能把對象的值傳過來并且渲染:

總結(jié) 

到此這篇關(guān)于uniapp組件傳值的方法(父傳子,子傳父,對象傳值)的文章就介紹到這了,更多相關(guān)uniapp組件傳值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

武乡县| 宣武区| 西乡县| 莲花县| 昆山市| 林甸县| 阳泉市| 虎林市| 怀宁县| 浮梁县| 南京市| 新安县| 罗城| 洪泽县| 泾川县| 德令哈市| 淅川县| 宜黄县| 辽阳市| 桐乡市| 大兴区| 威远县| 贡山| 康定县| 宁津县| 梁河县| 综艺| 洱源县| 云和县| 雅安市| 江北区| 新沂市| 肥西县| 平潭县| 延川县| 荃湾区| 清徐县| 屯门区| 镇原县| 肥乡县| 彭泽县|