vue父子组件通信

1.父组件向子组件传值

父组件

 在父组件data()中定义需要传送的数据(属性名随意)

export default{
	name:'Father',
	data(){
		return{
			data1:'父组件向子组件传递的data1',
			data2:'父组件向子组件传递的data2',
		}
	}
}
子组件

 在子组件export default{}中定义需要传送的数据,放在props里面,data1、data2名字随意,可不对应

export default{
	name:'Son',
	props:{
		data1:{
			type:String
			default:''
		},
		data2:{
			type:String
			default:''
		},
	}
	data(){
		return{}
	}
}
父组件向子组件传值

这:data1代表的的子组件,字符串的data1对应父组件,:data1='data1’表示子组件属性为data1指向父组件的data1(父组件属性可以不是data1,可以随便定义)

<template>
	<div>
	<son :data1='data1' :data2='data2' ></son>
	</div>
</template>
子组件向父组件传值

子组件(在某个方法里面直接用this.$emit())

export default{
   name:'Son',
   props:{
   	data1:{
   		type:String
   		default:''
   	},
   	data2:{
   		type:String
   		default:''
   	},
   }
   data(){
   	return{}
   },
   methods:{
   //这里子组件向父组件传值,将clickOkBtn与父组件进行通信,传递了true这个属性
   clickBtn(){
   	this.$emit('clickOkBtn',true)
   }
   }
}

父组件: clickOkBtn与子组件定义一样,clickOn为父组件的方法,名字可随便定义,子组件传值之后将触发该方法

<template>
   <div>
   <son :data1='data1' :data2='data2' @clickOkBtn='clickOn'></son>
   </div>
</template>
<script>
export default{
   name:'Father',
   data(){
   	return{}
   },
   methods:{
   //父组件得到信息,执行该方法
   clickOn(){
   		console.log("拿到了子组件的属性")
   }
   }
}
</script>
扩展

如果需要向子组件传页面,如子组件定义一个自己的dialog样式,但是内容不知道,需要父组件传递,这时将使用作用域插槽
父组件

<template>
   <div>
   <son :data1='data1' :data2='data2' @clickOkBtn='clickOn'>
   	<div slot="body">
   	
   	  <span>这是父组件写的东西,将对应到子组件的div里面</span>
   	  
   	</div>
   </son>
   </div>
</template>

子组件

<template>
   <div>
   	<dialog
   		:title="dialogName"
   		:close-on-click-modal="false"
   		:visible.sync="dialogVisible"
   	 >
   	<div>
   	<slot name="body"></slot>
   	</div>
   	</dialog>
   </div>
</template>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目:使用 JavaScript 编写的杀死幽灵游戏(附源代码) 杀死鬼魂游戏是使用 Vanilla JavaScript、CSS 和 HTML 画布开发的简单项目。这款游戏很有趣。玩家必须触摸/杀死游荡的鬼魂才能得分。您必须将鼠标悬停在鬼魂上 - 尽量得分。鬼魂在眨眼间不断从一个地方移动到另一个地方。您必须在 1 分钟内尽可能多地杀死鬼魂。 游戏制作 这个游戏项目只是用 HTML 画布、CSS 和 JavaScript 编写的。说到这个游戏的特点,用户必须触摸/杀死游荡的幽灵才能得分。游戏会根据你杀死的幽灵数量来记录你的总分。你必须将鼠标悬停在幽灵上——尽量得分。你必须在 1 分钟内尽可能多地杀死幽灵。游戏还会显示最高排名分数,如果你成功击败它,该分数会在游戏结束屏幕上更新。 该游戏包含大量的 javascript 以确保游戏正常运行。 如何运行该项目? 要运行此游戏,您不需要任何类型的本地服务器,但需要浏览器。我们建议您使用现代浏览器,如 Google Chrome 和 Mozilla Firefox。要玩游戏,首先,单击 index.html 文件在浏览器中打开游戏。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值