vue,defineProps
时间: 2023-11-26 13:48:21 浏览: 73
在Vue 3中,我们可以使用`defineProps`来定义父组件传递给子组件的属性。这个函数接收一个对象作为参数,对象的属性就是我们要定义的属性,属性值则是这个属性的类型或者一个包含类型和其他配置的对象。下面是一个例子:
```javascript
import { defineComponent, defineProps } from 'vue'
const MyComponent = defineComponent({
props: {
// 使用 defineProps 定义属性
msg: String,
count: {
type: Number,
default: 0
},
// 可以使用其他配置项
size: {
type: [String, Number],
validator: (value) => {
return ['small', 'medium', 'large'].includes(value)
}
}
},
setup(props) {
// 在 setup 函数中使用 props
console.log(props.msg)
console.log(props.count)
console.log(props.size)
}
})
```
在上面的例子中,我们使用`defineProps`来定义了三个属性:`msg`、`count`和`size`。其中`msg`的类型是`String`,`count`的类型是`Number`,并且有一个默认值`0`,`size`的类型是`String`或`Number`,并且使用了`validator`来验证属性值是否合法。
在`setup`函数中,我们可以通过`props`参数来访问这些属性。这样我们就可以在Vue 3中使用`defineProps`来定义父组件传递给子组件的属性了。
阅读全文