最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳細聊聊vue中組件的props屬性

 更新時間:2021年11月02日 12:01:06   作者:suoh''''''''''''''''s Blog  
父子組件之間的通信就是props down,events up,父組件通過屬性props向下傳遞數(shù)據(jù)給子組件,子組件通過事件events 給父組件發(fā)送消息,這篇文章主要給大家介紹了關于vue中組件的props屬性的相關資料,需要的朋友可以參考下

今天這篇文章,讓你徹底學會props屬性……

props主要用于組件的傳值,他的工作就是為了接收外面?zhèn)鬟^來的數(shù)據(jù),與data、el、ref是一個級別的配置項。

問題一:那props具體是怎么使用呢?原理又是什么呢?往下看

1、【定義被調用組件】首先,我們先定義一個person組件,用于顯示個人信息的組件,我們放了一個人的姓名,性別,以及年齡,定義好這個組件之后,就可以等待其他組件進行調用。那么既然別的組件可以調用,我們就需要再定義一個props屬性,用于接收別的組件傳進來的值。

 注意:組件中name、sex、age都是一個prop,將三個屬性放到一起,就是props,這就是props的由來,是prop的復數(shù)形式,代表多個prop屬性的集合。

 2、【調用組件】此時我們再定義一個info組件,用于展示這個人的基本信息,進行對person組價的調用實現(xiàn)信息的展示,分為下圖四個步驟進行調用。并傳入?yún)?shù)

 3、【看效果】傳入成功。

問題二:那如果我們想給年齡加1歲,怎么實現(xiàn)?

我們可能會直接這樣加1

看效果是否能實現(xiàn),變成19,看下圖顯然是不正確的。因為你傳入的年齡是個字符串18,所以加1只會在18后面進行拼接。

然后有的人說,那傳數(shù)字,怎么傳數(shù)字呢?很簡單,一個符號搞定。

我們只需要在age前面加上冒號 :他就會只識別雙引號里面的東西18 ,否則識別的是雙引號18

看下效果,此時就成功了。

問題三:對于年齡這一類型,我們最希望拿到的是什么數(shù)據(jù)類型?

肯定是數(shù)字類型,但是有人非要傳字符串類型,就會影響我們對年齡的計算,比如上面的加1……那么我們如何限制類型呢?

這時候props不能再用[]去定義,需要用{},因為限制類型時,props就是作為一個對象去使用;

下面就是我們將三個屬性分別做了限制。

我們把年齡做了number類型限制后,再傳入字符串18,看有什么變化?

此時發(fā)現(xiàn)控制臺,會報錯,顯示age的數(shù)據(jù)類型不匹配。

雖然不影響展示,但是會報錯。這可以給我們提供一個明確的提示。方便我們規(guī)范的傳入數(shù)據(jù)。

 

問題四:可以限制類型,那是不是也可以限制是否必傳呢?

答:當然可以。

假設姓名必傳,其他非必傳。

類型屬性:type:xx

必傳屬性:required:true

默認屬性:default:xx

name必傳,那么我們不傳試試,年齡不傳默認18

結果,控制臺同樣報錯,提示,name是必傳屬性。年齡我們沒傳,也成功展示的是默認值,19是因為一開始對年齡進行了加1操作,這樣我們就成功對屬性進行了限制。

 

對以上總結:

props在接收數(shù)據(jù)的同時,對數(shù)據(jù)進行了類型限制+默認值的指定+必要性的限制

問題五:props接收的屬性值可以修改嗎?

答:不可以

我們添加一個button,以及點擊事件

 注意:我們要訪問props里面的屬性值,通過this.即可找到

 

 查看結果,發(fā)現(xiàn)頁面可以顯示,但是控制臺報錯,因此它是不可修改的

問題六:必須要修改props屬性值,怎么辦?

答:通過data去間接修改

我們在data里面重新定義一個變量去接收props屬性。這個變量最好不要重名,重名的話,優(yōu)先獲取props屬性值,優(yōu)先級props>data。然后我們在操作或者html綁定值的時候,都去操作data里面新定義的變量

此時可以看到,修改成功,也沒有報錯:

總結:配置項props

-------讓組件接收外部傳來的數(shù)據(jù)

 接收數(shù)據(jù)三種方式:

(1)只接收:props: ['name','age','sex']

(2)接收并限制類型:props: { "name":Number }

(3)限制類型、限制必要性指定默認值:

    props:{
        "name":{
            type:String,
            required:true
        },
        "age":{
            type:Number,
            default:18
        },
        "sex":{
            type:String,
            default:'男'
        },
    },

注意:props是只讀的,vue底層會檢測你對props的修改,如果進行了修改,控制臺會報錯,必須修改,就復制一份到data中,通過data去修改數(shù)據(jù)。

到此這篇關于vue中組件的props屬性的文章就介紹到這了,更多相關vue組件的props屬性內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue 數(shù)據(jù)綁定的原理分析

    Vue 數(shù)據(jù)綁定的原理分析

    這篇文章主要介紹了Vue 數(shù)據(jù)綁定的原理,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-11-11
  • 微信小程序實戰(zhàn)基于vue2實現(xiàn)瀑布流的代碼實例

    微信小程序實戰(zhàn)基于vue2實現(xiàn)瀑布流的代碼實例

    瀑布流,又稱瀑布流式布局,是比較流行的一種網(wǎng)站頁面布局,視覺表現(xiàn)為參差不齊的多欄布局,隨著頁面滾動條向下滾動,這種布局還會不斷加載數(shù)據(jù)塊并附加至當前尾部,這篇文章主要介紹了微信小程序實戰(zhàn),基于vue2實現(xiàn)瀑布流,需要的朋友可以參考下
    2022-12-12
  • vue2.0自定義指令示例代碼詳解

    vue2.0自定義指令示例代碼詳解

    指令通常以"v-"作為前綴, 以方便Vue知道你在使用一種特殊的標記。這篇文章主要介紹了vue2.0自定義指令的實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • vue日期組件 支持vue1.0和2.0

    vue日期組件 支持vue1.0和2.0

    這篇文章主要為大家詳細介紹了vue日期組件,支持vue1.0和2.0,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 淺談Vue的雙向綁定和單向數(shù)據(jù)流沖突嗎

    淺談Vue的雙向綁定和單向數(shù)據(jù)流沖突嗎

    單項數(shù)據(jù)流和雙向數(shù)據(jù)綁定的概念,這兩種不是相互沖突的嗎?即然能用v-model雙向數(shù)據(jù)綁定,不應該就是雙向數(shù)據(jù)流了嗎?本文就詳細的介紹一下
    2022-04-04
  • 詳解vue如何封裝封裝一個上傳多張圖片的組件

    詳解vue如何封裝封裝一個上傳多張圖片的組件

    上傳圖片不管是后臺還是前端小程序,上傳圖片都是一個比不可少的功能有時候需要好幾個頁面都要上傳圖片,每個頁面都寫一個非常不方便,本文就給大家介紹vue如何封裝一個上傳多張圖片的組件,需要的朋友可以參考下
    2023-07-07
  • 基于Electron+Vite快速構建Vue3桌面應用

    基于Electron+Vite快速構建Vue3桌面應用

    這篇文章主要介紹了如何基于Electron和Vite快速構建Vue3桌面應用,本文主要技術棧就是Vue3、vite、Electron,文中有詳細的代碼示例,需要的朋友可以參考下
    2023-07-07
  • 解析vue.js中常用v-指令

    解析vue.js中常用v-指令

    本文以click為例給大家介紹vue.js中常用v-指令,可以用 v-on 指令監(jiān)聽 DOM 事件,并在觸發(fā)時運行一些 JavaScript代碼,本文通過示例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2021-10-10
  • Vite多環(huán)境配置項目高定制化能力詳解

    Vite多環(huán)境配置項目高定制化能力詳解

    這篇文章主要為大家介紹了Vite多環(huán)境配置項目高定制化能力詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 解決vite打包后白屏之router-view不生效問題

    解決vite打包后白屏之router-view不生效問題

    這篇文章主要介紹了解決vite打包后白屏之router-view不生效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07

最新評論

定安县| 浦东新区| 阜新| 积石山| 新丰县| 米林县| 塘沽区| 江西省| 延川县| 蛟河市| 乌拉特中旗| 原平市| 遂川县| 康保县| 达州市| 甘洛县| 郸城县| 利辛县| 西安市| 遂川县| 三穗县| 丹阳市| 株洲县| 绵竹市| 博湖县| 祁连县| 蒲江县| 建水县| 丰原市| 天镇县| 娱乐| 辛集市| 手游| 合阳县| 尼木县| 施甸县| 易门县| 萝北县| 偃师市| 阿合奇县| 甘孜|