Javascript的爺孫通信和組件自調(diào)用詳解
更新時(shí)間:2022年03月29日 14:08:21 作者:時(shí)間不夠以後
這篇文章主要為大家詳細(xì)介紹了Javascript的爺孫通信和組件自調(diào)用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
1.組件自己調(diào)用自己
父組件
<template> <div> <detail-list :list="categoryList"></detail-list> </div> </template> <script> import DetailList from './detailList.vue' export default { components: { DetailList }, data () { return { categoryList: [ { title: '1', children: [ { title: '1-1' }, { title: '1-2' }, ] }, { title: '2', children: [ { title: '2-1' }, { title: '2-2' }, ] } ] } } } </script>
子組件
<template> <template> <div> <!--遞歸組件的應(yīng)用===》可以通過組件命名來自己使用自己的組件--> <div class="item" v-for="(item, index) in list" :key="index"> <div class="item-title border-bottom"> <span class="item-title-icon"></span> {{ item.title }} </div> <div v-if="item.children" class="item-children"> <detail-list :list="item.children"></detail-list> <!-- //自己使用自己的組件detailList --> </div> </div> </div> </template> <script> export default { name: 'DetailList', //組件命名 props: { list: Array, }, data() { return {} }, } </script>
爺孫通信
grand.vue
<template> <div> <detail-list :list="categoryList"></detail-list> </div> </template> <script> import DetailList from './detailList.vue' export default { components: { DetailList }, data () { return { categoryList: [ { title: '1', children: [ { title: '1-1' }, { title: '1-2' }, ] }, { title: '2', children: [ { title: '2-1' }, { title: '2-2' }, ] } ] } } } </script>
father.vue
<template> <template> <div> <!--遞歸組件的應(yīng)用===》可以通過組件命名來自己使用自己的組件--> <div class="item" v-for="(item, index) in list" :key="index"> <div class="item-title border-bottom"> <span class="item-title-icon"></span> {{ item.title }} </div> <div v-if="item.children" class="item-children"> <detail-list :list="item.children"></detail-list> <!-- //自己使用自己的組件detailList --> </div> </div> </div> </template> <script> export default { name: 'DetailList', //組件命名 props: { list: Array, }, data() { return {} }, } </script>
chidren.vue
<template> <div> ??爺爺 <br> <div>GrandSon的回復(fù):{{reply}}</div> <father :msg1="msg1" :msg2="msg2" @getReply="getReply"></father> </div> </template> <script> import Father from './father.vue' export default { components: { Father }, data () { return { msg1: '1??我是GrandFather,把第二條傳給GrandSon', msg2: '2??GrandSon你好,我是GrandFather', reply: '' // 接收來自GrandSon的消息 } }, methods: { /* 將獲得的數(shù)據(jù)綁定到data中,便于視圖層渲染 */ getReply (param) { this.reply = param } } } </script>
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
各瀏覽器對(duì)link標(biāo)簽onload/onreadystatechange事件支持的差異分析
各瀏覽器對(duì)link標(biāo)簽onload/onreadystatechange事件支持的差異分析,需要的朋友可以參考下。2011-04-04淺析JS中對(duì)函數(shù)function的理解(基礎(chǔ)篇)
我們知道,在js中,函數(shù)實(shí)際上是一個(gè)對(duì)象,每個(gè)函數(shù)都是Function類型的實(shí)例,并且都與其他引用類型一樣具有屬性和方法。下面給大家談下對(duì)JS中函數(shù)function的理解,一起看看吧2016-10-10JS實(shí)現(xiàn)同一DOM元素上onClick事件與onDblClick事件并存的解決方法
這篇文章主要介紹了JS實(shí)現(xiàn)同一DOM元素上onClick事件與onDblClick事件并存的解決方法,結(jié)合實(shí)例形式分析了javascript通過針對(duì)單擊onclick事件增加定時(shí)器進(jìn)行onClick事件與onDblClick事件的區(qū)別判定操作,需要的朋友可以參考下2018-06-06