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

Vue組件如何設(shè)置Props實(shí)例詳解

 更新時(shí)間:2022年06月09日 16:44:15   作者:天行無(wú)忌  
props主要用于組件的傳值,他的工作就是為了接收外面?zhèn)鬟^(guò)來(lái)的數(shù)據(jù),與data、el、ref是一個(gè)級(jí)別的配置項(xiàng),下面這篇文章主要給大家介紹了關(guān)于Vue組件如何設(shè)置Props的相關(guān)資料,需要的朋友可以參考下

在 Vue 中構(gòu)建組件通常需要定義一些屬性,以使組件可以更好復(fù)用,在這種情況下會(huì)使用 props 來(lái)自定義數(shù)據(jù)來(lái)傳遞數(shù)據(jù)。接下來(lái)以一個(gè)簡(jiǎn)單的組件來(lái)介紹如何使用組件 props 。

<CrayonAlert title="友情提示"  description="請(qǐng)輸入真實(shí)的信息" />

如上面代碼所示,組件定義兩個(gè)屬性 title 和 description,組件代碼如下:

<template>
    <div>
        <h2>{{ title }}</h2>
        <p>{{ description }}</p>
    </div>
</template>
<script>
export default {
    name: "CrayonAlert",
    props: {
        title: {
            type: String,
        },
        description: {
            type: String,
        },
    },
};
</script>

屬性類型

props 不僅限于 String ,還可以是以下類型:

  • Object
  • Array
  • Symbol
  • Function
  • Number
  • String
  • Date
  • Boolean

屬性默認(rèn)值

在上面代碼中,當(dāng)組件沒(méi)有傳入相應(yīng)的屬性值的情況下,會(huì)顯示 undefined 或者在模板HTML沒(méi)有任何文本,這個(gè)時(shí)候可以考慮定義一個(gè)默認(rèn)值:

export default {
    name: "CrayonAlert",
    props: {
        title: {
            type: String,
            default: "提示",
        },
        description: {
            type: String,
            default: "描述",
        },
    },
};

設(shè)置好默認(rèn)值后,在沒(méi)有傳入任何參數(shù)值的時(shí)候,會(huì)顯示默認(rèn)值。這種方式在 Vue2 比較常用。

屬性值驗(yàn)證

跟 Form 數(shù)據(jù)一樣,組件屬性值也可以對(duì)其進(jìn)行驗(yàn)證,如下:

export default {
    name: "CrayonAlert",
    props: {
        title: {
            type: String,
            validator(value) {
                return value !== "";
            },
        },
        description: {
            type: String,
            validator(value) {
                return value !== "";
            },
        },
    },
};

Composition API 中設(shè)置屬性

在 Vue3 中,引入了一種稱為 Composition API 的新方法。在 Composition API 中,定義 props 使用 defineProps 函數(shù)。定義沒(méi)有默認(rèn)值的屬性如下所示:

import { defineProps } from "vue";

const props = defineProps({
    title: {
        type: String,
    },
    description: {
        type: String,
    },
});

設(shè)置默認(rèn)值和在Vue2 中有點(diǎn)類似,如下:

import { defineProps } from "vue";

const props = defineProps({
    title: {
        type: String,
        default: "提示",
    },
    description: {
        type: String,
        default: "描述",
    },
});

為了避免在屬性上設(shè)置默認(rèn)值,可以通過(guò)使用 required 字段來(lái)設(shè)置屬性為必須項(xiàng)。定義代碼如下:

import { defineProps } from "vue";

const props = defineProps({
    title: {
        type: String,
        default: "提示",
        required: true,
    },
    description: {
        type: String,
        default: "描述",
        required: true,
    },
});

總結(jié)

到此這篇關(guān)于Vue組件如何設(shè)置Propsx的文章就介紹到這了,更多相關(guān)Vue組件Propsx內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue+iview+less 實(shí)現(xiàn)換膚功能

    vue+iview+less 實(shí)現(xiàn)換膚功能

    這篇文章主要介紹了vue+iview+less 實(shí)現(xiàn)換膚功能,項(xiàng)目搭建用的vue—cli,css框架選擇的iview,具體操作流程大家跟隨腳本之家小編一起看看吧
    2018-08-08
  • vue用Object.defineProperty手寫一個(gè)簡(jiǎn)單的雙向綁定的示例

    vue用Object.defineProperty手寫一個(gè)簡(jiǎn)單的雙向綁定的示例

    這篇文章主要介紹了用Object.defineProperty手寫一個(gè)簡(jiǎn)單的雙向綁定的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Vue 過(guò)渡(動(dòng)畫)transition組件案例詳解

    Vue 過(guò)渡(動(dòng)畫)transition組件案例詳解

    這篇文章主要介紹了Vue 過(guò)渡(動(dòng)畫)transition組件案例詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下
    2017-01-01
  • vue中elementUI里面一些插件的使用

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

    Element UI是一套基于Vue的桌面端組件庫(kù),封裝好了很多常用的UI組件,下面這篇文章主要給大家介紹了關(guān)于vue中elementUI里面一些插件的使用方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • .env在mode文件中如何添加注釋詳解

    .env在mode文件中如何添加注釋詳解

    這篇文章主要為大家介紹了.env在mode文件中如何添加注釋詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁(yè)面

    vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁(yè)面

    這篇文章主要介紹了vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁(yè)面,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • vue 更改連接后臺(tái)的api示例

    vue 更改連接后臺(tái)的api示例

    今天小編就為大家分享一篇vue 更改連接后臺(tái)的api示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • Vue組件中的自定義事件你了解多少

    Vue組件中的自定義事件你了解多少

    這篇文章主要為大家詳細(xì)介紹了Vue組件中的自定義事件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • Vue子組件監(jiān)聽(tīng)父組件值的變化

    Vue子組件監(jiān)聽(tīng)父組件值的變化

    這篇文章主要介紹了Vue子組件監(jiān)聽(tīng)父組件值的變化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue3中配置文件vue.config.js不生效的解決辦法

    vue3中配置文件vue.config.js不生效的解決辦法

    這篇文章主要介紹了vue3中配置文件vue.config.js不生效的解決辦法,文中通過(guò)代碼示例講解的非常詳細(xì),對(duì)大家解決問(wèn)題有一定的幫助,需要的朋友可以參考下
    2024-05-05

最新評(píng)論

得荣县| 手游| 岳阳市| 台江县| 阳西县| 海晏县| 中阳县| 新闻| 阳城县| 偏关县| 阿克| 田阳县| 新宁县| 观塘区| 彭山县| 松溪县| 卢龙县| 南康市| 深州市| 双峰县| 正宁县| 庐江县| 田阳县| 仲巴县| 淮安市| 长乐市| 荥经县| 平泉县| 浮梁县| 龙江县| 瑞安市| 岱山县| 河曲县| 中阳县| 清徐县| 乌兰县| 嘉义县| 青海省| 广汉市| 双桥区| 崇左市|