最近也正在學習,希望能可以用我的理解給你描述清楚。
選擇id為demo的div作為vue的實例化區域,內部有todo-item組件,props是接收父類傳入的參數,傳入的是msg。于是需要在組件上綁定somemsg。v-bind可以省略,于是就可以寫成:somemsg。
<div id="demo">
<todo-item :somemsg="msg"></todo-item></div>
先來看 Vue.component
創建了一個組件
// 創建一個todo-item組件Vue.component('todo-item' ,{ props: ['somemsg'],
template: '<div> {{somemsg}} </div>'})// 實例化Vuenew Vue({ el: '#demo', data: {
todos: [{ text: '內容一'
}, { text: '內容二'
}], msg: 'message信息'
}
})
有了上面的理解,就可以繼續把v-for結合起來理解了。v-for相當于就是一個for…of…遍歷,遍歷組件多次,每次綁定一個遍歷出的todo給sometodo,sometodo就可以在子組件內部的props接收使用了。
<div id="demo">
<todo-item :somemsg="msg"></todo-item>
<todo-item v-for="todo in todos" :sometodo="todo"></todo-item></div>
// 創建一個todo-item組件Vue.component('todo-item' ,{ props: ['somemsg', 'sometodo'],
template: '<div> {{ somemsg || sometodo.text }} </div>'})// 實例化Vuenew Vue({ el: '#demo', data: {
todos: [{ text: '內容一'
}, { text: '內容二'
}], msg: 'message信息'
}
})
以上是最近學習的自己的理解,希望可以幫助到你。