コンポーネント間のデータの転送
7557 ワード
一、親子コンポーネント
二、コンポーネント間のデータの転送--サブコンポーネントが親コンポーネントのデータにアクセスする(通信)
三、コンポーネント間のデータの転送--親コンポーネントが子コンポーネントのデータにアクセスする(通信)
1. ,
2. ( )
3. , ,
二、コンポーネント間のデータの転送--サブコンポーネントが親コンポーネントのデータにアクセスする(通信)
, (on-bind= , )
, props ,
: :data,props,computed
window.onload=function () {
let vm = new Vue({//
el:"#myApp",
data:{
msg:"welcome to my vue"
},
components:{
"my-hello":{//
template:"#hello",
data:function(){
return {
msg:' ',
name:' ',
age:20,
user:{id:708,username:' '}
}
},
components:{//
"my-world":{
template:"#world",
// props:['msg','name'],//
props:{// , , , ,
msg:String,//
name:{
type:String,
required:true// name ,
},
age:{
type:Number,
default:18,// , 18
validator:function(value){//
return value>0
}
},
user:{
type:Object,
default:function(){// ,
return {id:2201,username:' '}
}
}
}
}
}
},
}
})
}
( ) :{{msg}}-{{name}}-{{age}}
:{{msg}}-{{name}}-{{age}}-{{user.username}}
:
1、 on-bind="" , props
2、props , , , ,
:
props:['msg','name'],//
三、コンポーネント間のデータの転送--親コンポーネントが子コンポーネントのデータにアクセスする(通信)
window.onload=function () {
let vm = new Vue({//
el:"#myApp",
data:{
msg:"welcome to my vue"
},
components:{
"my-hello":{//
template:"#hello",
data:function(){
return {
msg:' ',
name:' ',
age:20,
user:{id:708,username:' '},
sex:'',//
height :'',
}
},
methods:{
//
getSonDadat:function(sex,height){
this.sex=sex;
this.height = height;
}
},
components:{//
"my-world":{
data:function(){
return {
sex:' ',
height :160,
}
},
methods:{
// ,$emit( , )
send:function(){
this.$emit('e-world',this.sex,this.height);
}
},
mounted:function(){
this.send();
},
template:"#world",
// props:['msg','name'],//
props:{// , , , ,
msg:String,//
name:{
type:String,
required:true// name ,
},
age:{
type:Number,
default:18,// , 18
validator:function(value){//
return value>0
}
},
user:{
type:Object,
default:function(){// ,
return {id:2201,username:' '}
}
}
}
}
}
},
}
})
}
( ) :{{msg}}-{{name}}-{{age}}
{{sex}}-{{height}}
:{{msg}}-{{name}}-{{age}}-{{user.username}}
:{{sex}}-{{height}}
:
1. , this.$emit( , 1, 2....)
send:function(){
this.$emit('e-world',this.sex,this.height);
}
2.
getSonDadat:function(sex,height){
this.sex=sex;
this.height = height;
}
3. emit
:
1. vm.$emit( , ) ,
2.