Vue父传子组件传递数据

导读:本篇文章讲解 Vue父传子组件传递数据,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

vParent.vue

<template>
	<div class="box">
	<h3>parent</h3>
	<div>name:{{name}}</div>
	父组件使用属性给子组件传递数据,子组件通过props进行接收
	<v-child :msg="name"></v-child>
	for循环传值
	<v-child v-for="item in arr" :key="item" :msg="item"></v-child>
	</div>
</template>
<script>
	import vChild from "./vChild.vue";
	export default{
		components:{
			//注册组件
			vChild:vChild,
		},
		data(){
			return{
				name:"丛基友",
				arr:["王","李","相","要"]
			};
		},
	};
</script>
	<body>
		<div id="app">
			<!-- 
			    不加:  就是字符串
			    :  之后 ''里面的是表达式
			 -->
		  <counter :count="1"></counter>
			<!-- counter自定义属性传值 -->
			<counter :count="0"></counter>
		</div>
	</body>
	<script>
		var counter = {
			// 接受counter属性的值
			// 子组件不能改变父组件传过来的值 
			props:['count'],
			// 设置传值类型限制
			props:{
				name:String,
				age:Number,
				sex:String
			}
			props:{
				name:{
					type:String, //限制类型
					required:true //必须传值 
					
				}age:[
					type:Number,
					defalut:99 //默认值 
				]

			}
			data:function(){
				// 子组件用新变量接收之后再修改
				return{
					number:this.count
				}
			},
			template: '<div @click="handleClick">{{number}}</div>',
			methods:{
				handleClick:function(){
					this.number++
				}
			}
		}
		var vm = new Vue({
			el: '#app',
			components:{
				counter:counter
			}
		});
	</script>

在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/4884.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!