知识点:vue中使用props或者$attras向子组件中传值
(1) props传值
子组件必须注册好要传的数据()
props:['id']
(2)$attrs传值
该数据在props中,没有注册过,如注册过了,则$attrs中无此数据
父组件:
<template> <mychild :id="id" :strname="strname" :age="age" ></mychild> </template>
new Vue({ el: '#parent', data:function() { return { id:1001, strname:'名称', age:25 } },
}); 子组件:
var html_mychild =
+ "\n" ....页面内容
+ " \n"
Vue.component('mychild', { template: html_mychild, props: ['id'], //1. props传值,注册id,id和:id="id" 冒号后面的id名称一样 data: function () { return { id:this.id } }, created: function () { var id=this.id;//获取父组件传过来的,props注册过的id值 var attr=this.$attrs;//2.$attrs传值,获取父组件传过的所有的,并且不在props中注册过的值 var name = this.$attrs.strname; },
});
上面获取的值如下