欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue defaultprops

錢斌斌2年前9瀏覽0評論

Vue中提供了很多屬性來方便我們開發(fā),在組件中,有時(shí)候我們需要設(shè)置一些組件的默認(rèn)屬性。這時(shí),我們可以使用Vue的defaultProps屬性來設(shè)置組件的默認(rèn)屬性。

export default {
name: 'MyComponent',
props: {
message: String,
count: Number,
disabled: Boolean
},
defaultProps: {
message: 'Hello World',
count: 0,
disabled: false
}
}

在這個(gè)例子中,我們定義了一個(gè)MyComponent組件。在props中定義了message、count和disabled三個(gè)屬性,又使用defaultProps屬性來設(shè)置默認(rèn)值。

當(dāng)MyComponent組件沒有傳入message、count和disabled屬性值時(shí),它們將會使用defaultProps中定義的默認(rèn)值。例如:

當(dāng)使用上面的代碼片段來渲染MyComponent組件時(shí),MyComponent組件中的message屬性將會被設(shè)置為'Hello World',count屬性將會被設(shè)置為0,disabled屬性將會被設(shè)置為false。

在使用defaultProps時(shí)需要注意的是,只有當(dāng)組件的props沒有被傳入時(shí)才會使用defaultProps設(shè)置的屬性值。如果傳入了props屬性值,就會覆蓋掉defaultProps中的默認(rèn)值。同時(shí),在Vue2.x版本中,需要使用Vue.util.extend來合并props和defaultProps,例如:

import { extend } from 'vue'
export default {
name: 'MyComponent',
props: {
message: String,
count: Number,
disabled: Boolean
},
defaultProps: {
message: 'Hello World',
count: 0,
disabled: false
},
created() {
extend(this.$props, this.$options.defaultProps)
}
}

在created生命周期函數(shù)中,使用了Vue.util.extend來合并props和defaultProps,以確保一定使用defaultProps中定義的默認(rèn)值。