組件傳值-父組件向子組件傳值和 data 與 props 的區別
阿新 • • 發佈:2019-03-02
filters rect width initial content tms cti pat ctype
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Title</title>
<script src="js/vue-2.4.0.js"></script>
</head>
<body>
<div id="app">
<!-- 父組件,可以在引用子組件的時候,通過 屬性綁定(v-bind:)的形式,把需要傳遞給 子組件的數據,以屬性綁定的形式,傳遞到子組件內部,供子組件使用-->
<com1 v-bind:parentmsg="msg"></com1>
</div>
<script>
//創建 Vue 實例,得到 viewmodel
var vue=new Vue({
el:‘#app‘,
data:{
msg:‘這是父組件中的數據‘
},
methods:{},
components:{
//結論:經過演示,發現子組件中,默認無法訪問到父組件中的data上的數據和 methods 中的方法
com1:{
data:{
//註意:子組件中的 data 數據,並不是通過 父組件傳遞過來的,而是子組件自身私有的,比如:子組件通過Ajax,請求回來的數據,都可以放到 data 身上;
//data 上的數據,都是可讀可寫的;
return{
title:‘123‘,
content:‘qqq‘
}
},
template:‘<h1 @click="change">這是子組件---{{ parentmsg }}</h1>‘,
//註意:組件中的所有 props 中的數據,都是通過父組件傳遞給子組件的
// props 中的數據,都是只讀的,無法中心賦值
props:[‘parentmsg‘],//把父組件傳遞過來的 parentmsg 屬性,先在props 數組中,定義一下,這樣才能使用這個數據
directives:{},
filters:{},
components:{},
methods:{
change(){
this.parentmsg=‘被修改了‘
}
}
}
}
});
</script>
</body>
</html>
組件傳值-父組件向子組件傳值和 data 與 props 的區別