对象作为 props 传递所有的属性理解

aaa asdf   我的输入法坏了   O(≧口≦)O 这句话还是在Windows里面编辑好剪切过来的,今天说一下刚探索出来的对象作为 props 传递所有的属性's example ,代码还是新鲜的,look when it's hot.........大笑:

html:

<div id="app">
	<child v-bind="msg"></child>
</div>

js:

Vue.component("child",{
    props:["aaa","obj"],
    template:"<h1>{{aaa}}\
          {{obj}}</h1>"
    });
new Vue({
        el:"#app",
        data:{
                msg:{
                       obj:"hello world",
                       aaa:"bbb"
         	    }
    	}
})
 父组件传入的对象props,在子组件中既可以用数组的方法接受,也可以用对象的方法接收。v-bind只接收父组件传入的对象名,或者拆分成:v-bind:obj="msg.obj" 和

v-bind:aaa="msg.aaa".


-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o哈哈哈不萌萌哒分割线-o-o-o-o-o-o-o-o-o--o-o-o-o-o-o

父组件也可以继续向子组件动态传入数据,比如新传入一个sayname:

<div id="app">
	<child  v-bind:say="sayname" v-bind="msg"></child>
</div>

子组件中以对象的方法接收时,父组件传入的msg对象由子组件接收时拆分成对象形式:

Vue.component("child",{
		template:"<h1>\
		{{obj}}\
		{{aaa}}\
		{{say}}</h1>",
		props:{
			obj:{
				type:String,
				default:""
			},
			aaa:{
				type:String,
				default:""
			},
			say:{
				type:String,
				default:""
			}
		}
	});
	new Vue({
		el:"#app",
		data:{
			msg:{
				obj:"hello world",
				aaa:"bbb"
			},
			sayname:"good evening"
		}
	})
也可以用数组的方式接收:

Vue.component("child",{
		template:"<h1>\
		{{obj}}\
		{{aaa}}\
		{{say}}</h1>",
		props:["aaa","obj","say"]
	});
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值