菜单
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Vue 教程

Vue 首页 Vue Intro Vue Directives Vue v-bind Vue v-if Vue v-show Vue v-for Vue Events Vue v-on Vue Methods Vue Event Modifiers Vue Forms Vue v-model Vue CSS Binding Vue Computed Properties Vue Watchers Vue Templates

Scaling Up

Vue:为何、如何以及设置 Vue 第一个 SFC 页面 Vue 组件 Vue props Vue v-for 组件 Vue $emit() Vue 透传属性 Vue 作用域样式 Vue 本地组件 Vue 插槽 Vue v-slot Vue 作用域插槽 Vue 动态组件 Vue Teleport Vue HTTP 请求 Vue 模板引用 Vue 生命周期钩子 Vue Provide/Inject Vue 路由 Vue 表单输入 Vue 动画 Vue v-for 动画 Vue 构建 Vue Composition API

Vue Reference

Vue Built-in Attributes Vue Built-in Components Vue Built-in Elements Vue Component Instance Vue Directives Vue Instance Options Vue Lifecycle Hooks

Vue 示例

Vue Examples Vue Exercises Vue Quiz Vue Server Vue Certificate

Vue 'props' 选项


示例

使用 props 选项为组件创建 props。

export default {
    props: [
        'foodName',
        'foodDesc'
    ]
};
运行示例 »

查看下面的更多示例


定义和用法

props 选项是一个数组(简单形式)或一个对象(完整形式),其中包含所有 props。

props 选项被提供为一个数组(简单形式,参见上面的示例)时,数组仅包含字符串形式的 prop 名称。

props 选项被提供为一个对象(完整形式,参见下面的示例)时,除了 prop 名称之外,还可以定义几个选项。

选项 描述
type 定义 prop 的数据类型。可能的类型:String、Number、Boolean、Array、Object、Date、Function 或 Symbol。如果实际提供的 prop 的类型与定义的不同,Vue 将会生成一个警告。
default 定义 prop 的默认值。如果父组件没有提供某个 prop,则会使用默认值。
required 定义 prop 是否必需。当在开发模式下运行 Vue 应用程序时,如果缺少必需的 prop,Vue 会在控制台生成警告。
validator 定义一个自定义验证器函数。该函数接收 prop 值作为参数,我们可以自行编写规则来判断 prop 是否有效。返回 false 将在开发模式下生成警告。

更多示例

示例

将 props 定义为带有选项的对象。

FoodItem.vue:

<template>
	<div>
		<h2>{{ foodName }}</h2>
		<p>{{ foodDesc }}</p>
	</div>
</template>

<script>
export default {
	props: {
		foodName: {
			type: String,
			required: true
		},
		foodDesc: {
			type: String,
			required: false,
			default: 'This is the food description...'
		}
	}
};
</script>

App.vue:

<template>
  <h1>Food</h1>
  <p>Food description is not provided for 'Pizza' and 'Rice', so the default description is used.</p>
  <div id="wrapper">
    <food-item 
      food-name="Apples" 
      food-desc="Apples are a type of fruit that grow on trees."/>
    <food-item 
      food-name="Pizza"/>
    <food-item 
      food-name="Rice"/>
  </div> 
</template>

<style>
  #wrapper {
    display: flex;
    flex-wrap: wrap;
  }
  #wrapper > div {
    border: dashed black 1px;
    flex-basis: 120px;
    margin: 10px;
    padding: 10px;
    background-color: lightgreen;
  }
</style>
运行示例 »

相关页面

Vue 教程:Vue Props

Vue 教程:Vue $emit() Method

Vue Reference: Vue $props Object


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持