欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

VUE組件傳參超詳細(xì)講解

 更新時(shí)間:2022年07月29日 15:11:28   作者:Favour72  
vue的特點(diǎn)之一是組件化開發(fā),那么問題來了,組件中的數(shù)據(jù)和方法都是獨(dú)立的,我們?nèi)绾芜M(jìn)行組件之間的交互呢。這個(gè)時(shí)候就要用到組件傳參了

Vue.cli 中怎樣使用自定義的組件

第一步:在 components 目錄新建你的組件文件(CounterCom.vue),script一定要export default {}

第二步:在需要用的頁面(組件)中導(dǎo)入:

import CounterCom from './components/CounterCom.vue'

第三步 : 注 入 到 Vue 的子組件的 components 屬性上面,

components:{CounterCom}

第四步:在 template 視圖 view 中使用

<CounterCom ></CounterCom>

<counter-com></counter-com>

Vue 組件如何進(jìn)行傳值的

父組件向子組件傳遞數(shù)據(jù)

父組件內(nèi)設(shè)置要傳的數(shù)據(jù),在父組件中引用的子組件上綁定一個(gè)自定義屬 性并把數(shù)據(jù)綁定在自定義屬性上,在子組件添加參數(shù) props 接收即可

子組件向父組件傳遞數(shù)據(jù)

子組件通過 Vue 實(shí)例方法 $emit 進(jìn)行觸發(fā)并且可以攜帶參數(shù),父組件監(jiān)聽使 用@(v-on)進(jìn)行監(jiān)聽,然后進(jìn)行方法處理

非父子組件之間傳遞數(shù)據(jù)

1、引入第三方 new Vue 定義為 eventBus

2、在組件中 created 中訂閱方法 eventBus.$on("自定義事件名",methods 中的方法名)

3、在另一個(gè)兄弟組件中的 methods 中寫函數(shù),在函數(shù)中發(fā)布 eventBus 訂 閱的方法 eventBus.$emit("自定義事件名”)

4、在組件的 template 中綁定事件(比如 click)

父?jìng)髯永?/h4>

使用props

父?jìng)鹘o子的數(shù)組是只讀的(做默認(rèn)值,讀取顯示)

不能進(jìn)行修改

App.vue文件中

<CounterCom :num="365"></CounterCom>

CounterCom.vue組件中

  //01接收參數(shù)并定義默認(rèn)值
props:{
    "num":{type:Number,default:1},
}
//02使用參數(shù)num
data() {
            //02 使用num:把傳過來的num賦值給counter
            return {
                counter: this.num
            }
        }

具體示例如下:

子傳父例子

使用的事件 $emit

CounterCom.vue組件中

<button class="active" @click="counter++;$emit('counterchange',counter)">
        {{counter}}
    </button>

App.vue

<counter-com @counterchange="n=$event"></counter-com>

$emit(事件名,事件值) 子組件主動(dòng)觸發(fā)一個(gè)事件,并傳遞一個(gè)位置,事件名(counterchange)和事件值(counter)是自定義的

$event固定寫法,事件的值(counterchange事件的值,也是數(shù)組的第二個(gè)參數(shù))

Vue組件data為什么必須是函數(shù)

1、每個(gè)組件都是 Vue 的實(shí)例。

2、組件共享 data 屬性,當(dāng) data 的值是同一個(gè)引用類型的值時(shí),改變 其中一個(gè)會(huì)影響其他

3、組件中的 data 寫成一個(gè)函數(shù),數(shù)據(jù)以函數(shù)返回值形式定義,這樣每復(fù)用 一次組件,就會(huì)返回一份新的 data,類似于給每個(gè)組件實(shí)例創(chuàng)建一個(gè)私 有的數(shù)據(jù)空間,讓各個(gè)組件實(shí)例維護(hù)各自的數(shù)據(jù)。而單純的寫成對(duì)象形式, 就使得所有組件實(shí)例共用了一份 data,就會(huì)造成一個(gè)變了全都會(huì)變的結(jié) 果。

組件的命名規(guī)范

給組件命名有兩種方式

一種是使用鏈?zhǔn)矫?my-component

一種是使用大駝峰命名 MyComponent

在 字 符 串 模 板 中

<my-component></my-component>

<MyComponent></MyComponent>都可以使用, 在非字符串模板中最好使用<MyComponent></MyComponent>,因?yàn)橐裱?W3C 規(guī) 范中的自定義組件名 (字母全小寫且必須包含一個(gè)連字符),避免和當(dāng)前以及未 來的 HTML 元素相沖突

Vue 組件里的定時(shí)器要怎么銷毀

如果頁面上有很多定時(shí)器,可以在 data 選項(xiàng)中創(chuàng)建一個(gè)對(duì)象 timer, 每個(gè)定時(shí)器取個(gè)名字一一映射在對(duì)象 timer 中, 在 beforeDestroy 構(gòu)造函數(shù)中

for(let k in this.timer){clearInterval(k)};

如果頁面只有單個(gè)定時(shí)器,可以這么做。

const timer = setInterval(() =>{}, 500);
this.$once('hook:beforeDestroy', () => {
clearInterval(timer);
})

到此這篇關(guān)于VUE組件傳參超詳細(xì)講解的文章就介紹到這了,更多相關(guān)VUE組件傳參內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vuex中mutations和actions的區(qū)別及說明

    Vuex中mutations和actions的區(qū)別及說明

    這篇文章主要介紹了Vuex中mutations和actions的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • vue之項(xiàng)目中如何封裝loading加載效果

    vue之項(xiàng)目中如何封裝loading加載效果

    這篇文章主要介紹了vue之項(xiàng)目中如何封裝loading加載效果,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Vue項(xiàng)目中如何運(yùn)用vuex的實(shí)戰(zhàn)記錄

    Vue項(xiàng)目中如何運(yùn)用vuex的實(shí)戰(zhàn)記錄

    如果說是JQuery是手工作坊,那么Vue.js就像是一座工廠,雖然Vue.js做的任何事情JQuery都可以做,但無論是代碼量還是流程規(guī)范性都是前者較優(yōu),下面這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目中如何運(yùn)用vuex的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • vue element和nuxt的使用技巧分享

    vue element和nuxt的使用技巧分享

    這篇文章主要介紹了vue element和nuxt的使用技巧分享,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2021-01-01
  • 淺談Vue+Ant Design form表單的一些坑

    淺談Vue+Ant Design form表單的一些坑

    本文主要介紹了淺談Vue+Ant Design form表單的一些坑,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • vue中elementUI里面一些插件的使用

    vue中elementUI里面一些插件的使用

    Element UI是一套基于Vue的桌面端組件庫,封裝好了很多常用的UI組件,下面這篇文章主要給大家介紹了關(guān)于vue中elementUI里面一些插件的使用方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • VUEJS實(shí)戰(zhàn)之利用laypage插件實(shí)現(xiàn)分頁(3)

    VUEJS實(shí)戰(zhàn)之利用laypage插件實(shí)現(xiàn)分頁(3)

    這篇文章主要為大家詳細(xì)介紹了VUEJS實(shí)戰(zhàn)之修復(fù)錯(cuò)誤并且美化時(shí)間,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • vue 雙向數(shù)據(jù)綁定的實(shí)現(xiàn)學(xué)習(xí)之監(jiān)聽器的實(shí)現(xiàn)方法

    vue 雙向數(shù)據(jù)綁定的實(shí)現(xiàn)學(xué)習(xí)之監(jiān)聽器的實(shí)現(xiàn)方法

    這篇文章主要介紹了vue 雙向數(shù)據(jù)綁定的實(shí)現(xiàn)學(xué)習(xí)之監(jiān)聽器的實(shí)現(xiàn)方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-11-11
  • vue倒計(jì)時(shí)刷新頁面不會(huì)從頭開始的解決方法

    vue倒計(jì)時(shí)刷新頁面不會(huì)從頭開始的解決方法

    在本篇文章里小編給大家整理的是關(guān)于vue倒計(jì)時(shí)刷新頁面不會(huì)從頭開始的解決方法,需要的朋友們參考下。
    2020-03-03
  • vue用遞歸組件寫樹形控件的實(shí)例代碼

    vue用遞歸組件寫樹形控件的實(shí)例代碼

    最近在vue項(xiàng)目中遇到需要用樹形控件的部分,比如導(dǎo)航目錄是不確定的,所以必須要用樹形結(jié)構(gòu),下面腳本之家小編給大家?guī)砹藇ue用遞歸組件寫樹形控件的實(shí)例代碼,需要的朋友參考下吧
    2018-07-07

最新評(píng)論