Vue-父子组件传值

使用prop方式:单向传递

  1. 定义一个父子组件
		// 全局组件
		Vue.component("my-parent",{ // 父组件名称
			data(){
				return{
					msg:''
				}
			},
			template:"#parent",
			components:{
				"my-child":{  // 子组件名称
					props:['title'],
					data(){
						return{
							childtext:'这是my-child子组件'
						}
					},
					template:'#child' // 关联子模板
				}
			}
		})
  1. 在子组件中申明一个属性: props:[‘title’]
components:{
    "my-child":{
        props:['title'],
            data(){
            return{
                childtext:'这是my-child子组件'
            }
        },
        template:'#child' // 关联子模板
    }
}
  1. 在父模板中的子组件属性绑定一个动态值
<!--创建父模板文件-->
<template id="parent">
    <div>
        <input v-model="msg" />
        <p>这是my-parent父组件</p>
        <my-child :title="msg" />
    </div>		
</template>
  1. prop类型
props: {
  title: String,
  likes: Number,
  isPublished: Boolean,
  commentIds: Array,
  author: Object,
  callback: Function,
  contactsPromise: Promise
}
  1. 类型验证
props: { 
    // 类型检查:默认进行转换为Number,如查类型错误不显示
    id: Number,
        // 值多类型
    title: [String, Boolean],
    name: {
        type: String,
         required: true
    },
    address:{
         type:Object,
         default:'湖南长沙'
      }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值