是否可以为Vue.js道具创建自定义道具类型(并通过验证对其进行扩展)?
在下面的示例中,您将找到对象道具background
。我想要一个自定义的道具类型Image而不是Object。
图片将检查src
和alt
是否已填充,其余部分是可选的。
我们现在所拥有的:
export default {
props: {
background: {
type: Object,
src: String,
srcset: String,
alt: String,
title: String,
},
},
};
我想要拥有的东西:
class customPropImage {
// magic ...
}
export default {
props: {
background: Image,
},
};
答案 0 :(得分:6)
当然可以。根据{{3}},您可以将类型设置为自定义类型的构造函数。通过自定义验证,它看起来可能像这样:
function CustomImage () {
// Magic
}
Vue.component('blog-post', {
props: {
myImage: {
type: CustomImage,
validator: function (value) {
return true; // or false based on value of myImage
}
}
}
})