歡迎來到Vue每日打卡教程!在這里,我們會每天分享一個Vue相關的小知識,幫助你慢慢地掌握這個優秀的前端框架。
今天的主題是Vue組件傳值。在Vue中,數據可以在組件之間進行傳遞。這樣,不同的組件之間就可以相互通信,實現更加復雜的交互操作。
首先,我們需要了解兩種常見的組件傳值方式:props和$emit。
props是一種從父組件向子組件傳遞數據的方式。父組件可以通過在子組件的標簽上綁定屬性的方式來向子組件傳遞數據。在子組件中,我們可以通過接收這些數據并且定義屬性來使用它們。
父組件代碼: <template> <div> <child-component :title="pageTitle"></child-component> </div> </template> <script> import ChildComponent from './ChildComponent.vue' export default { components: { ChildComponent }, data () { return { pageTitle: 'Hello World' } } } </script> 子組件代碼: <template> <div> {{ title }} </div> </template> <script> export default { props: { title: String } } </script>
$emit是一種從子組件向父組件傳遞數據的方式。在子組件中,我們可以通過觸發事件并且攜帶數據的方式來向父組件傳遞數據。在父組件中,我們可以在子組件的標簽上監聽這些事件并且獲取數據。
父組件代碼: <template> <div> <child-component @confirm="handleConfirm"></child-component> </div> </template> <script> import ChildComponent from './ChildComponent.vue' export default { components: { ChildComponent }, data () { return { message: '' } }, methods: { handleConfirm (message) { this.message = message } } } </script> 子組件代碼: <template> <div> <input type="text" v-model="inputValue"> <button @click="handleClick">Confirm</button> </div> </template> <script> export default { data () { return { inputValue: '' } }, methods: { handleClick () { this.$emit('confirm', this.inputValue) } } } </script>
以上就是今天的Vue每日打卡教程內容。希望這篇文章能夠對你有所幫助!