根據千峯教育學習視頻所練習的筆記 | 學習一段時間,我也有寫一點東西的必要了···html
<head> ······ <script src="../vue.js"></script> </head> <body> <div id="app"> <my-header></my-header> </div> <script> var vm = new Vue({ el:'#app', components:{ 'my-header':{ template:`<div> <h2>{{message}}</h2> <ul> <li >張一山</li> </ul> </div>`, data:function () { return{ message:'hello my idol', }; } } } }); </script> </body>
<ul>
裏寫一個list數據,寫好以後對<li>
進行遍歷操做components:{ 'my-header':{ template:`<div> <h2>{{message}}</h2> <ul> <li v-for="item in list">{{item}}</li> </ul> </div>`, <!-- v-for 遍歷 --> data:function () { return{ message:'hello my idol', list:['張一山','吳京','李現','肖戰'] }; } } }
<my-header>
,它的父組件能夠看做是app。由於前面講過,new 一個實例也是建立組件的方式,可是真實的組件是擴展了實例的方式,實例也是能夠看做組件的。<div id="app"> <my-header></my-header> </div>
<script> var vm = new Vue({ el:'#app', data:{ list:['張一山','吳京','李現','肖戰'], //光寫這裏不會有做用,還需繼續寫props }, components:{ 'my-header':{ ······ return{ message:'hello my idol', }; } } } }); </script>
<div id="app"> <my-header :list="list"></my-header> <!-- 等號左邊是key值,右邊是數據--> </div> <script> var vm = new Vue({ el:'#app', data:{ list:['張一山','吳京','李現','肖戰'], //光寫這裏不會有做用,還需繼續寫props }, components:{ 'my-header':{ ······ return{ message:'hello my idol', }; }, props:['list'], //引入key值 } } }); </script>
如今就能夠渲染,能進行父子組件的通訊了vue
<my-nav>
,一樣去設置components<script> var vm = new Vue({ ······ components:{ 'my-header':{ template:`<div> ······ </ul> <my-nav :list="list"></my-nav> </div>`, //v-for 遍歷 ··· props:['list'], components: { 'my-nav':{ template: `<ul> <li v-for="item in list">{{item}}</li> </ul>`, props:['list'] // 數據一層一層地傳遞,不能越層,ma-nav也要進行掛載處理 } } } } }); </script>
這樣就實現數據傳遞了:app