如何通过检查 Vue 组件中的值来传递 "conditional" 默认值
How to pass "conditional" default value by checking its value in the Vue component
组件
props: {
image: {
type: String,
default() {
return this.defaultImage
}
}
},
computed: {
defaultImage() {
return this.$config.baseUrl + '/images/default.jpg'
}
},
使用上面的组件,当 prop-image 不存在时,组件 returns default-image 成功。
<image-uplaoder />
但我想实现,如果我传递 prop-image 的值并且该值为 null,它应该仍然是 return default-image。目前,return没什么。
<image-uplaoder :image="data.image" />
试过(我们不能做类似的事情)吗?
computed: {
defaultImage(value) {
if(!value || value === null) {
return this.$config.baseUrl + '/images/default.jpg'
}
}
},
而不是 prop 的 default()
选项,计算的 属性 应该包含使用默认值的逻辑:
// ImageUploader.vue
export default {
props: {
image: String,
},
computed: {
imgUrl() {
return this.image || (this.$config.baseUrl + '/images/default.jpg')
}
}
}
然后将计算的 属性 绑定到您的 <img>.src
:
<img :src="imgUrl">
组件
props: {
image: {
type: String,
default() {
return this.defaultImage
}
}
},
computed: {
defaultImage() {
return this.$config.baseUrl + '/images/default.jpg'
}
},
使用上面的组件,当 prop-image 不存在时,组件 returns default-image 成功。
<image-uplaoder />
但我想实现,如果我传递 prop-image 的值并且该值为 null,它应该仍然是 return default-image。目前,return没什么。
<image-uplaoder :image="data.image" />
试过(我们不能做类似的事情)吗?
computed: {
defaultImage(value) {
if(!value || value === null) {
return this.$config.baseUrl + '/images/default.jpg'
}
}
},
而不是 prop 的 default()
选项,计算的 属性 应该包含使用默认值的逻辑:
// ImageUploader.vue
export default {
props: {
image: String,
},
computed: {
imgUrl() {
return this.image || (this.$config.baseUrl + '/images/default.jpg')
}
}
}
然后将计算的 属性 绑定到您的 <img>.src
:
<img :src="imgUrl">