第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

通過todo-list案例對(duì)父子組件的傳遞(總結(jié))

標(biāo)簽:
Vue.js

代码如下:
局部组件模式:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Todo List</title>
	<script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="https://cdn.jsdelivr.net/npm/vue@2.6.0"></script>
</head>
<body>
	<div id="root">
		<div>
			<input type="text" v-model="todoValue">
			<button @click="handleBtnClick">submit</button>
		</div>
		<ul>
			<todo-item :content="item" 
					   :index="index"
					   v-for="(item, index) in list" 
					   @delete="handleItemDelete">
			</todo-item>
		</ul>
	</div>
	<script>
		// 局部组件
		var TodoItem = {
			props: ['content', 'index'],
			template: "<li @click='handleItemClick'>{{ content }}</li>",
			methods: {
				handleItemClick: function(){
					this.$emit('delete', this.index)
				}
			}
		}
		var app = new Vue({
			el: '#root',
			components: {
				TodoItem: TodoItem
			},
			data: {
				todoValue: '',
				list: []
			},
			methods: {
				handleBtnClick: function(){
					this.list.push(this.todoValue)
					this.todoValue = ''
				},
				handleItemDelete: function(index){
					this.list.splice(index, 1)
				}
			}
		})
	</script>
</body>
</html>

全局组件模式:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="https://cdn.jsdelivr.net/npm/vue@2.6.0"></script>
</head>
<body>
	<div id="root">
		<div>
			<input type="text" v-model="value">
			<button @click="handleBtnClick">submit</button>
		</div>
		<ul>
			<todo-item :content="item" :index="index" v-for="(item, index) in list" @delete="handleItemDelete"></todo-item>
		</ul>
	</div>
	<script>
		// 全局组件
		Vue.component('TodoItem', {
			props: ['content', 'index'],
			template: "<li @click='handleItemClick'>{{ content }}</li>",
			methods: {
				handleItemClick: function(){
					this.$emit('delete', this.index)
				}
			}
		})
		var app = new Vue({
			el: "#root",
			data: {
				value: '',
				list: []
			},
			methods: {
				handleBtnClick: function(){
					this.list.push(this.value)
					this.value = ''
				},
				handleItemDelete: function(index) {
					this.list.splice(index, 1)
				}
			}
		})
	</script>
</body>
</html>

父组件通过v-bind的绑定方式进行数据的传递,子组件通过props属性接收父组件穿过来数据也就是content与index。
$emit(事件名称, […属性值])。
子组件通过$emit的方式向上一层触发事件,父组件监听子组件穿过来的事件,如果传了属性值子组件就会把数据带出来给到父组件。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消