中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue組件中參數校驗與非props特性的示例分析

發布時間:2021-07-20 11:06:24 來源:億速云 閱讀:116 作者:小新 欄目:web開發

這篇文章主要為大家展示了“Vue組件中參數校驗與非props特性的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Vue組件中參數校驗與非props特性的示例分析”這篇文章吧。

子組件接收父組件的參數的時候,props注冊接收的參數

props:['count']

子組件可以對接收的參數校驗。

例如規定接收的count參數要求是String

props:{
count:String
}

如果count是別的類型就會報錯  

組件的參數校驗

組件的參數校驗指的是什么呢?你父組件向子組件傳遞的內容,子組件有權對這個內容進行一些約束,這個約束我們可以把它叫做參數的校驗。

<div id="root">
  <child content="hello world"></child>
</div>
Vue.component('child',{
  props: ['content'],
  template: '<div>{{content}}</div>'
})
let vm = new Vue({
  el: '#root',
})

現在有這樣一個需求,父組件調用子組件的時候,傳遞的這個content,我要做一些約束,要求它我傳遞過來的content必須是一個字符串,我們該怎么實現呢?

<div id="root">
  <child content="hello world"></child>
</div>
Vue.component('child',{
  props: {
    content: String     //子組件接收到的 content 這個屬性,必須是一個字符串類型的
  },
  template: '<div>{{content}}</div>'
})
let vm = new Vue({
  el: '#root',
})

組件接收到的content這個屬性,必須是一個字符串類型的,如果我需要的參數類型是字符串或者數組,又該怎么寫呢?

props: {
  content: [ String, Number ]
},

content的類型,可以用數組來表示。

content其實還有更復雜的用法:

props: {
  content: {
    type: Sring,
    required: true,         //必傳
    default: 'default value',    //默認顯示,非必傳會顯示
    validator(value){       //檢測 content 的長度,如果長度大于 5,正常顯示,如果長度小于 5 則報錯 
      return (value.length > 5)
    }
  }
}

非props特性

說到非props特性,它一定和props特性相對應。

props特性:當你的父組件使用子組件的時候,通過屬性向子組件傳值的時候,恰好子組件里面聲明了對父組件傳遞過來的屬性的一個接收,也就是說父子組件有個對應關系,如果你這么寫我們就把叫做props特性

props特性的特點是,如下圖:

  1. 我們在子組件里有一個content的內容傳遞,這個屬性的內容傳遞是不會在dom標簽上進行顯示的。

  2. 當你父組件傳遞了content,你子組件接收了這個content,你在模版里就可以直接通過插值表達式或者通過this.content,去取得content里面的內容了。

Vue組件中參數校驗與非props特性的示例分析

props特性:父組件向子組件傳遞了一個屬性,但是子組件并沒有props這塊的內容,也就是說子組件并沒有聲明我要接收父組件的傳遞過來的內容

props特點:

  • props特性在子組件里面,沒辦法獲取到你父組件傳遞的內容,因為你壓根沒聲明你要獲取的內容,也就沒法用。

  • 如果我們用的是非props特性,那么這個特性是會顯示在dom標簽上的

Vue組件中參數校驗與非props特性的示例分析

以上是“Vue組件中參數校驗與非props特性的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

北海市| 武清区| 南通市| 曲周县| 新乡县| 兴宁市| 乐业县| 东至县| 溧水县| 吉隆县| 青浦区| 扶余县| 和静县| 云安县| 阿瓦提县| 河南省| 大港区| 高安市| 革吉县| 明溪县| 宜昌市| 澄迈县| 无极县| 车致| 石楼县| 方山县| 乌拉特中旗| 建德市| 龙井市| 咸宁市| 溧阳市| 高陵县| 北海市| 石台县| 清苑县| 得荣县| 巨野县| 融水| 上林县| 香河县| 赣州市|