1. 程式人生 > >組件傳值-父組件向子組件傳值和 data 與 props 的區別

組件傳值-父組件向子組件傳值和 data 與 props 的區別

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 的區別