当前位置:首页 > VUE

实现vue中的prop

2026-02-22 06:00:51VUE

定义 Props

在 Vue 组件中,通过 props 选项定义组件可以接收的属性。支持数组或对象形式定义。数组形式仅列出属性名,对象形式可以进一步指定类型、默认值等配置。

// 数组形式
props: ['title', 'content']

// 对象形式
props: {
  title: String,
  content: {
    type: String,
    default: 'Default content',
    required: true
  }
}

传递 Props

在父组件中,通过类似 HTML 属性的方式传递数据给子组件。可以使用静态值或动态绑定(v-bind)。

<ChildComponent title="Static Title" :content="dynamicContent" />

类型验证

通过对象形式的 props 可以指定类型验证,支持多种原生构造函数(如 StringNumberBooleanArrayObjectDateFunctionSymbol)。

props: {
  age: Number,
  isValid: Boolean,
  tags: Array,
  user: Object
}

默认值与必填

通过 default 设置默认值,required 标记属性是否必填。默认值为对象或数组时,需使用工厂函数返回。

props: {
  count: {
    type: Number,
    default: 0
  },
  items: {
    type: Array,
    default: () => []
  },
  name: {
    type: String,
    required: true
  }
}

自定义验证

通过 validator 函数实现自定义逻辑验证,返回 truefalse

props: {
  score: {
    validator(value) {
      return value >= 0 && value <= 100
    }
  }
}

单向数据流

Vue 的 props 遵循单向数据流原则,子组件不应直接修改 props 的值。需通过事件或本地数据副本处理。

实现vue中的prop

export default {
  props: ['initialValue'],
  data() {
    return {
      localValue: this.initialValue
    }
  }
}

标签: vueprop
分享给朋友:

相关文章

vue 实现手册

vue 实现手册

以下是关于 Vue.js 实现手册的整理内容,涵盖核心概念、实践方法和常见场景的解决方案: 核心概念与基础用法 Vue.js 是一个渐进式 JavaScript 框架,核心特点包括数据驱动视图和组件…

vue公共列表的实现

vue公共列表的实现

实现 Vue 公共列表组件 公共列表组件通常用于展示重复结构的数据,例如商品列表、用户列表等。以下是一个典型的实现方式: 基础实现 创建可复用的列表组件 List.vue: <templat…

vue实现过程

vue实现过程

Vue 的实现过程 Vue 的实现过程可以分为多个核心模块,包括响应式系统、虚拟 DOM、模板编译等。以下是 Vue 的主要实现过程分析。 响应式系统 Vue 的响应式系统基于 Object.def…

实现简易vue

实现简易vue

实现简易 Vue 的核心思路 Vue 的核心功能包括数据响应式、模板编译和虚拟 DOM。以下是一个简易实现方案,涵盖核心功能模块。 数据响应式系统 通过 Object.defineProperty…

vue实现数组

vue实现数组

Vue 实现数组操作的方法 在 Vue 中,数组的操作需要特别注意响应式的问题。Vue 提供了一些方法来确保数组的变动能够触发视图更新。 响应式数组方法 Vue 对以下数组方法进行了封装,确保它们能…

vue实现gps

vue实现gps

Vue 中实现 GPS 定位功能 在 Vue 中实现 GPS 定位功能通常依赖于浏览器的 Geolocation API 或第三方地图服务(如高德、百度地图等)。以下是两种常见的实现方式: 使用浏览…