Vue之Props

Vue中props数据类型 type (规定数据类型) String 字符串 Number 数字 Boolean 布尔 Array 数组 Object 对象 Date 日期 Function 函数 Symbol 独一无二的值(es6) default default : (默认值) 基础数据类型: 直接赋值 对象数据类型: 用函数赋值 ()=>[] required required:.. 阅读详情

1. Prop写法

在DOM模板中使用时,要使用横线分隔,如下的 post-title

Vue.component('blog-post', {
  // camelCase in JavaScript
  props: ['postTitle'],
  template: '<h3>{{ postTitle }}</h3>'
})

<!-- kebab-case in HTML -->
<blog-post post-title="hello!"></blog-post>

2. 规定Prop数据类型

props的两种写法,后一种写法,可以规定数据的类型,不符合类型,vue会抛出警告

// 写法一
props: ['title', 'likes', 'isPublished', 'commentIds', 'author']

// 写法二
props: {
  title: String,
  likes: Number,
  isPublished: Boolean,
  commentIds: Array,
  author: Object,
  callback: Function,
  contactsPromise: Promise // or any other constructor
}

3. 传递静态或动态Props

除了string,还可传递任意类型的prop数据:number、boolean、array、object

// 静态的
<blog-post title="My journey with Vue"></blog-post>
// 动态的
<!-- Dynamically assign the value of a variable -->
<blog-post v-bind:title="post.title"></blog-post>

4. 单向数据流

父组件通过props向子组件传递数据,影响子组件状态

5. 对Prop进行类型检查

示例:

Vue.component('my-component', {
  props: {
    // Basic type check (`null` and `undefined` values will pass any type validation)
    propA: Number,
    // Multiple possible types
    propB: [String, Number],
    // Required string
    propC: {
      type: String,
      required: true
    },
    // Number with a default value
    propD: {
      type: Number,
      default: 100
    },
    // Object with a default value
    propE: {
      type: Object,
      // Object or array defaults must be returned from
      // a factory function
      default: function () {
        return { message: 'hello' }
      }
    },
    // Custom validator function
    propF: {
      validator: function (value) {
        // The value must match one of these strings
        return ['success', 'warning', 'danger'].indexOf(value) !== -1
      }
    }
  }
})

6. 非Prop的Attribute

一个非 prop 的 attribute 是指传向一个组件,但是该组件并没有相应 prop 定义的 attribute。
而这些 attribute 会被添加到这个组件的根元素上。

例如:

<bootstrap-date-input data-date-picker="activated"></bootstrap-date-input>
// 在该组件的props中并未接受这个data-date-picker,然后这个 data-date-picker="activated" attribute 就会自动添加到 <bootstrap-date-input> 的根元素上。

(完)

更多Vue文档解读:《Vue Doc 笔记》

别再乱拖了!Godot 4.x 场景编辑器的7个隐藏操作技巧(附快捷键清单) 本文揭示了Godot 4.x场景编辑器的7个隐藏操作技巧,包括智能对齐、轴心点应用、多节点批量操作等,帮助开发者提升游戏开发效率。特别介绍了坐标系切换和自定义快捷键等实用功能,适用于处理复杂场景和团队协作。 阅读详情

相关推荐

docker 安装oracle

本文介绍了使用Docker部署Oracle数据库的实践指南。主要内容包括:常用Oracle镜像的阿里云和华为云拉取地址,11g/12c/19c等不同版本的启动命令示例,以及连接数据库的基本信息。实战部分详细演示了Oracle 11g的安装过程,包括镜像拉取、容器启动、密码修改和数据库连接步骤,并通过Sql Developer和命令行两种方式创建用户。最后提到数据持久化的重要性,建议将数据库文件挂载到宿主机目录以防止容器删除导致数据丢失。文章提供了完整的操作命令和截图说明,适合需要快速部署Oracle测试环境

weixin_39766667的博客 375

vue3在 setup 中使用 props

vue3在 setup 中使用 props 记录学习和开发中遇到的问题 之前我尝试在 setup 中使用 props 是这样的 export default defineComponent({ setup(props: any) { console.log(props.id) // 输出 undefined } }) 然而 却输出 undefined ,通过思考和查阅资料,与 vue2 做对比,少了 props 声明一步 加上声明就可以了 export default

web13518593961的博客 3166

手把手教你用STM32F030实现功率MOS双脉冲测试(附完整电路图)

本文详细介绍了如何使用STM32F030微控制器搭建功率MOSFET双脉冲测试平台。通过分析双脉冲测试原理,提供了完整的硬件电路设计、驱动电路选型、软件时序生成方法,并指导如何利用示波器捕获和分析开关波形,从而评估功率器件的动态特性与开关损耗。

juice的博客 717

vue3组件通信defineProps、defineEmits、defineExpose

vue最大的特点就是组件化开发,那么在组件开发时必定会用到父子传值,在vue2中我们用到了props、emit、ref、vuex、插槽等等获取组件的数据,那么vue3中必定要认识一下这三兄弟:defineProps、defineEmits、defineExpose(这里我用的是setup语法糖)。

m0_60424565的博客 596

AI大模型API中转站选型指南:12项关键指标与实战评估

随着AI大模型技术的快速迭代,企业面临着一个核心挑战:如何在基础模型频繁更新的背景下,为业务系统选择稳定可靠的API中转服务?本文基于真实生产环境测试数据,从12个关键维度系统评估主流API中转站平台,帮助技术团队在模型快速演进的生态中做出科学选型决策。 1. API中转站的核心价值与业务场景 1.1 什么是API中转站 API中转站(API Gateway/Aggregator)是连接业务系统与多个大模型厂商的中间层服务。它通过统一的接口封装了不同厂商的API协议差异,为企业提供标准化的模型调用能力。在实

weixin_29056101的博客 447

Linux SMP系统多核启动机制详解

对称多处理(SMP)是现代操作系统支持多核并行计算的基础架构。其核心原理是通过引导处理器(BSP)初始化系统环境后,通过处理器间中断(IPI)机制唤醒应用处理器(AP)。在x86架构中,AP启动时处于实模式,需要特殊的trampoline代码完成保护模式切换和分页设置。这种设计既保证了系统初始化的正确性,又实现了多核并行处理的性能优势。理解SMP启动流程对优化系统启动速度和调试多核问题至关重要,特别是在云计算和嵌入式系统中,高效的SMP初始化能显著提升系统响应能力。本文以Linux内核为例,深入解析了从BS

weixin_35006125的博客 291

vue props的所有重点知识

props 一、props规定类型: 1.不规定类型。默认情况,props是可以接收数组的,如下: props: ['title', 'likes', 'isPublished', 'commentIds', 'author'] 不验证数值的任何类型,通常情况最好不这样写。 2.只做类型效验时,props传入对象,每一个键对应着一个类型的值。如下: //常用类型 props: { title: String, likes: Number, isPublished: Boolean...

PrimaryColor 1140

K型热电偶负电压采集难题?3种运放电路设计方案对比(含Multisim仿真)

本文针对K型热电偶在低温测量中产生的负电压采集难题,详细对比了三种运放电路设计方案,包括双电源运放反相放大、单电源仪表放大器和差分放大电路,并结合Multisim仿真数据分析了各方案的性能差异。文章还提供了PCB布局和抗干扰设计的实战技巧,帮助工程师解决热电偶信号采集中的核心挑战。

postgres8guard的博客 1019

笔记:Vue选项---数据和方法(data,props,methods,computed,watch)

1.数据选项: data:{ 数据名:数据 ...... }, //对象类型 data(){ return{ 数据名:数据, ...... } }, //函数类型(在组件(Vue.component)中,数据选项必须使用函数类型) 2.属性选项(在组件中使用): props 可以是数组或对象,用于接收来自父组件的数据。props 可以是简单的数组,或者使用对象作为替代,对象允许..

weixin_57346222的博客 866

Apache-Plc4x-Modbus-Tcp学习记录(一)

Apache-Plc4x-Modbus-Tcp学习记录(一)

weixin_45325423的博客 6988

利用DRONEKIT-SITL + MAVPROXY + QGroundControl模拟飞行

dronekit: 一种用于无人机控制的python库。 dronekit-sitl:一种本地仿真工具,相当于本地虚拟化了一个无人机。 mavproxy:数据转发软件(类似于插线板的感觉,一个输入,多个相同的输出)。打开一个Anaconda prompt 首先激活相应的环境 然后运行如下命令: 保持2中的Anaconda prompt处于运行状态,另打开一个Anaconda prompt窗口,运行如下命令: tcp:127.0.0.1:5760: SITL默认端口,作为mavproxy的输入,把输入数据转发

Done___的博客 4344

vue单文件props写法_vuejs 单文件组件.vue 文件

vuejs 自定义了一种.vue文件,可以把html, css, js 写到一个文件中,从而实现了对一个组件的封装, 一个.vue 文件就是一个单独的组件。由于.vue文件是自定义的,浏览器不认识,所以需要对该文件进行解析。 在webpack构建中,需要安装vue-loader 对.vue文件进行解析。在sumlime 编辑器中,我们 书写.vue 文件,可以安装vue syntax highli...

weixin_39523529的博客 485

黑猫带你学eMMC协议第9篇:eMMC初始化过程(initial)

本文依据eMMC JEDEC5.1及个人工作经验整理而成,如有错误请留言。 文章为个人辛苦整理,付费内容,禁止私自转载。 文章所在专栏:《黑猫带你学:eMMC协议详解》 1 什么是emmc的初始化 对于小白来说,可能不太明白什么是emmc初始化。举个栗子:当你拿到一个电脑,接上电源,是不是就立马可以用了呢?并不是吧,你还需要去开机,等待电脑启动,配置完各种参数,等出现了电脑桌面,你才能用。那么同样,对于emmc芯片来说,也不是提供电源就能用了,需要输入各种命令后,让其进入到tran state后,才能正.

黑猫奥利奥的博客 6742

vuejs中data与props的区别

vuejs中data与props的区别: 1、data不需要用户(开发者)传值,自身维护;而props需要用户(开发者)传值。 2、data上的数据都是可读可写的;而props上的数据只可以读的,无法重新赋值。 本教程操作环境:windows7系统、vue2.9.6版,DELL G3电脑。 在使用Vue.js的过程中,经常会遇到data和props。今天就来探索一下二者的区别。 data(当前组件对象操作的数据) 类型:Object|Function 限制 :组件的定义只接受F...

顺其自然~专栏 4266

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

关于Vue中props的详解

看一下官方文档: 组件实例的作用域是孤立的。这意味着不能 (也不应该) 在子组件的模板内直接引用父组件的数据。父组件的数据需要通过 prop 才能下发到子组件中。 也就是props是子组件访问父组件数据的唯一接口。 详细一点解释就是: 一个组件可以直接在模板里面渲染data里面的数据(双大括号)。 子组件不能直接在模板里面渲染父元素的数据。 如果子组件想要引用父元素的数据,那么就在...

jingtian678的博客 14万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

vue组件获取props_Vuejs第九篇之组件作用域及props数据传递实例详解

这篇文章主要介绍了Vuejs第九篇之组件作用域及props数据传递实例详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下本篇资料来于官方文档:本教程是小编结合官方文档整理的一套更加细致,代码更多更全的教程,特别适合新手阅读。props数据传递①组件实例的作用域:是孤立的,简单的来说,组件和组件之间,即使有同名属性,值也不共享。var vm = new Vue({el: '#app',...

weixin_35807050的博客 370

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Vue3之props详解

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

slqgenius的博客 5649

Vue中的props学习笔记

通过这个属性名就可以把父组件中的数据传递给子组件了。在。

BruceLee的专栏 2152

vue打印props的值_关于Vue中props的详解

看一下官方文档:组件实例的作用域是孤立的。这意味着不能 (也不应该) 在子组件的模板内直接引用父组件的数据。父组件的数据需要通过 prop 才能下发到子组件中.也就是props是子组件访问父组件数据的唯一接口。详细一点解释就是:一个组件可以直接在模板里面渲染data里面的数据(双大括号)。子组件不能直接在模板里面渲染父元素的数据。如果子组件想要引用父元素的数据,那么就在prop里面声明一个变量(比...

weixin_42421710的博客 3550

vuejs使用 Props 传递数据

使用 Props 传递数据 组件实例的作用域是孤立的。这意味着不能并且不应该在子组件的模板内直接引用父组件的数据。可以使用 props 把数据传给子组件。 “prop” 是组件数据的一个字段,期望从父组件传下来。子组件需要显式地用 props 选项 声明 props: ? 1 2 3 4 5 6 7 Vue.component('child

Junit的博客 1708

Vuejs中props、mixin、插件十四

//父组件App.vue <Student name="张三" :age="18" sex="男" ref="stu"/> //子组件Student.vue props: ['name','age', 'sex'], // props: { // name: { // type: String, // required: true // }, // age: { // type: Number, // default: 9

qq_50563868的博客 1240

vue单文件props写法_vue框架中props的typescript用法详解

vue框架中props的typescript用法详解什么是typescripttypescript 为 javaScript的超集,这意味着它支持所有都JavaScript都语法。它很像JavaScript都强类型版本,除此之外,它还有一些扩展的语法,如interface/module等。typescript 在编译期会去掉类型和特有语法,生成纯粹的JavaScript。Typescript 5年...

weixin_35218304的博客 2799

Vue 中的三种 Props:模板 Props、配置 Props 和 状态 Props

Vue 里有个很重要的东西,就是 Props。Props 是用来在 Vue 组件之间传递数据的,就像你把东西从一个盒子搬到另一个盒子一样,从父组件传到子组件。但你知道吗?Props 也有不同的类型,它们的功能可不一样呢!主要有三种类型:模板 Props配置 Props状态 Props(也叫数据 Props)接下来,我们就来详细了解一下这三种 Props,看看它们到底有什么区别,以及在什么情况下应该...

前端开发博客 2413

vue子组件赋值props_【Vue原理】Props - 源码版

专注 Vue 源码分享,文章分为白话版和 源码版,白话版助于理解工作原理,源码版助于了解内部详情,让我们一起学习吧研究基于 Vue版本2.5.17今天记录 Props 源码流程,哎,这东西,就算是研究过了,也真是会随着时间慢慢忘记的。幸好我做了详细的文章,忘记了什么的,回忆起来必然是很快的。好的,回到正题,Props请你在读这篇之前,先去看看我的白话版【Vue原理】Props - 白话版在上面这篇...

weixin_39610594的博客 1348

[Vue] props的使用

PROPS 例子 参考代码:code 实现功能: 通过属性给模板赋值 使用思路 通过标签属性传值 &amp;lt;child content=&quot;Hello props&quot;&amp;gt;&amp;lt;/child&amp;gt; 通过props来接收传值 props: ['content'], template:'&amp;lt;div&amp;gt;{{content}}&amp;lt;/div&a

BnuzLeon的博客 3201
上一篇: Vue组件注册
下一篇: Vue自定义事件
小菜101
博客等级 码龄10年 16粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值