Vue Props 声明:修订间差异

来自泡泡学习笔记
跳到导航 跳到搜索
(创建页面,内容为“ 一个组件需要显式声明它所接受的 props,这样 Vue 才能知道外部传入的哪些是 props,哪些是透传 attribute 。 在使用 <script setup> 的单文件组件中,props 可以使用 defineProps() 宏来声明: ```vue <script setup> const props = defineProps(['foo']) console.log(props.foo) </script></pre> 除了使用字符串数组来声明 prop 外,还可以使用对象的形式: <syntaxhighlight lang="js"…”)
 
无编辑摘要
 
第4行: 第4行:
在使用 &lt;script setup&gt; 的单文件组件中,props 可以使用 defineProps() 宏来声明:
在使用 &lt;script setup&gt; 的单文件组件中,props 可以使用 defineProps() 宏来声明:


```vue
<pre>
&lt;script setup&gt;
&lt;script setup&gt;
const props = defineProps(['foo'])
const props = defineProps(['foo'])
第10行: 第10行:
console.log(props.foo)
console.log(props.foo)
&lt;/script&gt;</pre>
&lt;/script&gt;</pre>
除了使用字符串数组来声明 prop 外,还可以使用对象的形式:
除了使用字符串数组来声明 prop 外,还可以使用对象的形式:


第17行: 第18行:
   likes: Number
   likes: Number
})</syntaxhighlight>
})</syntaxhighlight>
对于以对象形式声明中的每个属性,key 是 prop 的名称,而值则是该 prop 预期类型的构造函数。比如,如果要求一个 prop 的值是 number 类型,则可使用 Number 构造函数作为其声明的值。
对于以对象形式声明中的每个属性,key 是 prop 的名称,而值则是该 prop 预期类型的构造函数。比如,如果要求一个 prop 的值是 number 类型,则可使用 Number 构造函数作为其声明的值。

2024年1月30日 (二) 09:32的最新版本

一个组件需要显式声明它所接受的 props,这样 Vue 才能知道外部传入的哪些是 props,哪些是透传 attribute 。

在使用 <script setup> 的单文件组件中,props 可以使用 defineProps() 宏来声明:

<script setup>
const props = defineProps(['foo'])

console.log(props.foo)
</script>

除了使用字符串数组来声明 prop 外,还可以使用对象的形式:

// 使用 <script setup>
defineProps({
  title: String,
  likes: Number
})

对于以对象形式声明中的每个属性,key 是 prop 的名称,而值则是该 prop 预期类型的构造函数。比如,如果要求一个 prop 的值是 number 类型,则可使用 Number 构造函数作为其声明的值。