vue2.7 <script setup> 使用 attrs ,怎么用
时间: 2024-09-19 13:16:36 浏览: 75
在Vue 2.7版本中,`<script setup>`语法是引入了Composition API的新特性之一。如果你想通过`attrs`属性从父组件传递数据到子组件,你需要这样做:
1. **在父组件**里,你可以直接将需要传入的数据作为props定义:
```html
<script>
export default {
props: {
myData: {
type: String,
required: true
}
}
}
</script>
```
然后,在模板里将它作为`v-bind`绑定到子组件上:
```html
<child-component :my-data="myData" />
```
2. **在子组件**的 `<script setup>` 部分,导入`setup`钩子,并使用`attrs`对象接收父组件传来的属性:
```javascript
<script setup>
import { onMounted } from 'vue';
const useAttrs = (attrs) => {
onMounted(() => {
// 使用 attrs.myData
console.log('Received data:', attrs.myData);
});
};
useAttrs({ ...this.$attrs });
</script>
```
`$attrs`包含了所有接收到的props,以及自定义的内联绑定(如`v-bind`)。
注意,`$attrs`默认只允许字符串类型的值,如果需要其他类型,需要在父组件明确声明 prop 的类型。
阅读全文