亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue中利用prop進行父子通信時的注意事項總結(jié)

 更新時間:2022年01月17日 17:30:13   作者:龍仔l(wèi)ike_code  
這篇文章主要給大家介紹了關(guān)于vue中利用prop進行父子通信時的注意事項,文中通過實例介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

注意點一

當在組件上傳入一個普通的字符串時,我們可以直接這樣寫:

<one name="張三"></one>

需要注意的是,當我們想要傳入數(shù)字時,我們需要使用v-bind綁定一個數(shù)字,否則無法識別數(shù)字,vue會認為你傳入的是一個字符串數(shù)字。

特殊的值包括:向字符鍵傳這些類型的數(shù)據(jù)時,都需要使用v-bind來告訴vue,我們傳輸?shù)氖庆o態(tài)的值。

  • 數(shù)字
  • 布爾值
  • 數(shù)組
  • 對象
   <one name="張三" :age="1"></one>

注意點二

當我們想要把一個對象的所有屬性傳給子組件時,我們可以這樣寫:

//要傳輸?shù)膶ο?
post: { id: 1, title: 'My Journey with Vue' }
//直接使用v-bind,將post對象的所有屬性傳遞給子組件
<one v-bind='post'> </one>

子組件接收:

//直接接受父組件傳過來的對象中的屬性名即可
 props: ["id", "title"],

注意點三:單項數(shù)據(jù)流

所有的 prop 都使得其父子 prop 之間形成了一個單向下行綁定:父級 prop 的更新會向下流動到子組件中,但是反過來則不行。這樣會防止從子組件意外變更父級組件的狀態(tài),從而導致你的應用的數(shù)據(jù)流向難以理解。

額外的,每次父級組件發(fā)生變更時,子組件中所有的 prop 都將會刷新為最新的值。這意味著你應該在一個子組件內(nèi)部改變 prop。如果你這樣做了,Vue 會在瀏覽器的控制臺中發(fā)出警告。

這里有兩種常見的試圖變更一個 prop 的情形:

  • 這個 prop 用來傳遞一個初始值;這個子組件接下來希望將其作為一個本地的 prop 數(shù)據(jù)來使用。 在這種情況下,最好定義一個本地的 data property 并將這個 prop 用作其初始值:

    props: ['initialCounter'],
    data: function () {
      return {
        counter: this.initialCounter
      }
    }
  • 這個 prop 以一種原始的值傳入且需要進行轉(zhuǎn)換。 在這種情況下,最好使用這個 prop 的值來定義一個計算屬性:

    props: ['size'],
    computed: {
      normalizedSize: function () {
        return this.size.trim().toLowerCase()
      }
    }

注意在 JavaScript 中對象和數(shù)組是通過引用傳入的,所以對于一個數(shù)組或?qū)ο箢愋偷?prop 來說,在子組件中改變變更這個對象或數(shù)組本身將會影響到父組件的狀態(tài)。

注意點四

在使用組件時,如果我們在上面書寫非props屬性,那個這些屬性會作為組件根元素上的自定義屬性。 如果組件根元素上有同樣屬性,那個會被覆蓋掉。使用組件時傳入的值會作為最終的屬性值。

class 和 style attribute 會稍微智能一些,即兩邊的值會被合并起來,從而得到最終的值。

如果我們不想讓要這種默認將非props屬性添加到組件的根元素上,我們可以在組件的選項中配置inheritAttrs: false。設(shè)置完以后非props屬性將不在默認添加到根元素上。

其次,我們還可以結(jié)合$attrs,就可以手動決定這些非Props屬性會被賦予哪個元素。

例如:可以將所有的屬性賦值到標簽中。

<template>
  <div class="one">
    <span v-bind="$attrs"></span>
  </div>
</template>

總結(jié)

到此這篇關(guān)于vue中利用prop進行父子通信時的注意事項的文章就介紹到這了,更多相關(guān)vue用prop父子通信內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解vue?Router(v3.x)?路由傳參的三種方式

    詳解vue?Router(v3.x)?路由傳參的三種方式

    vue路由傳參的使用場景一般都是應用在父路由跳轉(zhuǎn)到子路由時,攜帶參數(shù)跳轉(zhuǎn),本文將詳細介紹vue路由傳參的三種方式,這三種傳參方式只是針對vue?Router?V3版本的,需要的朋友可以參考下
    2023-07-07
  • Vue父組件和子組件之間數(shù)據(jù)傳遞和方法調(diào)用

    Vue父組件和子組件之間數(shù)據(jù)傳遞和方法調(diào)用

    vue組件在通信中,無論是子組件向父組件傳值還是父組件向子組件傳值,他們都有一個共同點就是有中間介質(zhì),子向父的介質(zhì)是自定義事件,父向子的介質(zhì)是props中的屬性。
    2022-12-12
  • 詳解vue-cli項目中用json-sever搭建mock服務器

    詳解vue-cli項目中用json-sever搭建mock服務器

    這篇文章主要介紹了詳解vue-cli項目中用json-sever搭建mock服務器,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 詳解vue-cli構(gòu)建項目反向代理配置

    詳解vue-cli構(gòu)建項目反向代理配置

    本篇文章主要介紹了詳解vue-cli構(gòu)建項目反向代理配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Vue?router應用問題實戰(zhàn)記錄

    Vue?router應用問題實戰(zhàn)記錄

    vue-router是vue.js官方的路由插件,他和vue.js是深度集成的適合構(gòu)建單頁面應用,下面這篇文章主要給大家介紹了關(guān)于Vue?router應用問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • vue中優(yōu)雅實現(xiàn)數(shù)字遞增特效的詳細過程

    vue中優(yōu)雅實現(xiàn)數(shù)字遞增特效的詳細過程

    項目中需要做數(shù)字滾動增加的效果,一開始很懵,研究了一下原理,發(fā)現(xiàn)很簡單,下面這篇文章主要給大家介紹了關(guān)于vue中優(yōu)雅實現(xiàn)數(shù)字遞增特效的詳細過程,需要的朋友可以參考下
    2022-12-12
  • Vue聲明式導航與編程式導航示例分析講解

    Vue聲明式導航與編程式導航示例分析講解

    這篇文章主要介紹了Vue中聲明式導航與編程式導航,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-11-11
  • Vue2.0/3.0雙向數(shù)據(jù)綁定的實現(xiàn)原理詳解

    Vue2.0/3.0雙向數(shù)據(jù)綁定的實現(xiàn)原理詳解

    這篇文章主要給大家介紹了關(guān)于Vue2.0/3.0雙向數(shù)據(jù)綁定的實現(xiàn)原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Vue filter格式化時間戳時間成標準日期格式的方法

    Vue filter格式化時間戳時間成標準日期格式的方法

    今天小編就為大家分享一篇Vue filter格式化時間戳時間成標準日期格式的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue中的@click.native 原生點擊事件

    vue中的@click.native 原生點擊事件

    這篇文章主要介紹了vue中的@click.native 原生點擊事件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04

最新評論