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

uniapp組件傳值的方法(父?jìng)髯?子傳父,對(duì)象傳值)實(shí)戰(zhàn)案例

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

前言

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

父組件給子組件傳值

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

<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頁(yè)面中有一個(gè)數(shù)據(jù)為name,我們下面使用props將父組件的name值傳給子組件comp.vue。首先在父組件中使用子組件的上面進(jìn)行綁定傳參:

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

然后在子組件comp.vue中使用props接收父組件傳過(guò)來(lái)的值:

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

<script>
	export default {
		// 接收父?jìng)鹘o子的參數(shù)
		props:{
			name: String
		},
		methods: {
			sendMsg() {
				console.log(this.name)
			}
		}
	}
</script>

打印的值:

子組件給父組件傳值

在子組件中使用this.$emit對(duì)父組件進(jìn)行傳值

在comp.vue中:

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

在index.vue中:

定義openMsg方法綁定給@getMsg

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

然后寫(xiě)openMsg方法:打印傳過(guò)來(lái)的值

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é)果如下:這樣子組件編寫(xiě)的值傳到了父組件中打印了出來(lái)

在這里插入圖片子①述

父組件給父組件傳對(duì)象值

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

在父組件中:

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

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

<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/蘋(píng)果 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/蘋(píng)果 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/蘋(píng)果 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/蘋(píng)果 iPhone 11 Pro',
										price: '8699.00',
										marketPrice: '¥8699.00',
									},
								]
			}
		}
	}
</script>

子組件中進(jìn)行接收:

<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 {
		//父?jìng)鹘o子的參數(shù)
		props: {
			item: {
				type: Object,
				default() {
					return {}
				}
			}
		}
	}
</script>

運(yùn)行結(jié)果:

這樣就能把對(duì)象的值傳過(guò)來(lái)并且渲染:

總結(jié) 

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

相關(guān)文章

最新評(píng)論

石楼县| 兖州市| 海城市| 商河县| 南昌县| 明溪县| 阳原县| 麻城市| 阿克陶县| 讷河市| 荥经县| 廊坊市| 丹巴县| 繁峙县| 怀化市| 南木林县| 滨州市| 牙克石市| 年辖:市辖区| 环江| 镶黄旗| 兴国县| 汝阳县| 怀集县| 沁源县| 铜陵市| 连城县| 安义县| 栾川县| 婺源县| 荆州市| 从化市| 康乐县| 安远县| 绥化市| 福建省| 茶陵县| 滨州市| 平潭县| 利津县| 南京市|