prop传值

		<script type="text/javascript">
			///产品组件
			Vue.component("school",{
				//props指定的值类型
				props:['schoolName'],
				template:`<li>
					<h3>学校名称:{{schoolName}}</h3>
					</li>`
			})
		</script>

静态属性

<school school-name="清华北大"></school>

动态属性

<school :school-name="'上海交大'"></school>//‘’认为是字符串输出
<script type="text/javascript">
			//根组件
			let app = new Vue({
				el:"#app",
				data:{
					schoolList:['sxt','czbk','xmg']
				}
			})

		</script>
<school :school-name="schoolList[0]"></school>//索引值为0输出

循环传值组件

<school v-for="item, index in schoolList" :school-name="item"></school>
				
<script type="text/javascript">
			///产品组件
			Vue.component("school",{
				//props指定的值类型
				props:['schoolName','index'],
				template:`<li>
					<h3>{{index}}-学校名称:{{schoolName}}</h3>
					<button @click="chooseEvent(schoolName)">选择学校</button>
					</li>`,
				methods:{
					chooseEvent:function(schoolName){
						console.log(schoolName)
						//想要将子元素的数据传递给父元素,需要触发事件实现数据的传值
						//触发一个事件名称叫做cSchool的事件
						this.$emit("cschool",schoolName)
					},
					
				}
			})

			//根组件
			let app = new Vue({
				el:"#app",
				data:{
					schoolList:['清华','北大','川农'],
					chooseSchool:""
				},
				methods:{
					changeEvent:function(data){
						console.log("触发学校选择事件")
						this.chooseSchool = data
					}
				}
			})

		</script>

显示为
在这里插入图片描述

监听子组件事件

同时子组件可以通过调用内建的 *** e m i t ∗ ∗ ∗ 方 法 并 传 入 事 件 名 称 来 触 发 一 个 事 件 ∗ emit*** 方法并传入事件名称来触发一个事件 * emitemit尽量不使用驼峰命名,若使用驼峰命名,eg:school-Event = schoolevent

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值