【Vue.JS】Vue.JS 中 props 从父组件向子组件传递数据取值问题

本文主要是介绍【Vue.JS】Vue.JS 中 props 从父组件向子组件传递数据取值问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于 VueJS 中 props 传递数据时需要重点注意的一个地方 – 命名。

代码如下

<div id="app"><div><p>props 中声明的数据与组件 data 函数中 return 的数据主要区别就是 props 的数据来自父级,而 data 中的数据是组件本身的,作用域是组件本身</p></div><br><input type="text" v-model="parentMessage"><my-component :warningText="parentMessage"></my-component>
</div>
<script>
Vue.component('my-component', {props: ['warningText'],template: '<div style="color:red">{{warningText}}</div>',data: function () {return {};}})var app = new Vue({el: "#app",data: {parentMessage: 'Hello',}})
</script>

如上:一眼望去,似乎并没有什么问题。但是,结果却…

img1

经过一番调试,发现,需要将父组件的数据名称 warningText 修改为 warning-text。 如下:

<div id="app"><input type="text" v-model="parentMessage"><my-component :warning-text="parentMessage"></my-component>
</div>
<script>Vue.component('my-component', {props: ['warningText'],template: '<div style="color:red">{{warningText}}</div>',data: function () {return {};}})var app = new Vue({el: "#app",data: {parentMessage: 'Hello',}})
</script>

img2

由于好奇心的促使
先尝试将 props 属性接收的名称和父组件中传递的名称都命名为短横线形式,如下:

<div id="app"><input type="text" v-model="parentMessage"><my-component :warning-text="parentMessage"></my-component>
</div>
<script>Vue.component('my-component', {props: ['warning-text'],template: '<div style="color:red">{{warningText}}</div>',data: function () {return {};}})var app = new Vue({el: "#app",data: {parentMessage: 'Hello',}})
</script>

img4

发现可以接收到数据

继续,插值表达式中的名成也修改为 warning-text

<div id="app"><input type="text" v-model="parentMessage"><my-component :warning-text="parentMessage"></my-component>
</div>
<script>Vue.component('my-component', {props: ['warning-text'],template: '<div style="color:red">{{warning-text}}</div>',data: function () {return {};}})var app = new Vue({el: "#app",data: {parentMessage: 'Hello',}})
</script>

img5

显示的值为 NaN

总结

由于 HTML 特性不区分大小写,当使用 DOM 模板时,驼峰式命名的 props 名称要转为短横线分隔命名的形式。
★ 当 props 传值取不到时,一定要首先核对是否是命名规则的自动转换导致

这篇关于【Vue.JS】Vue.JS 中 props 从父组件向子组件传递数据取值问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/411135

相关文章

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?

maven异常Invalid bound statement(not found)的问题解决

《maven异常Invalidboundstatement(notfound)的问题解决》本文详细介绍了Maven项目中常见的Invalidboundstatement异常及其解决方案,文中通过... 目录Maven异常:Invalid bound statement (not found) 详解问题描述可

idea粘贴空格时显示NBSP的问题及解决方案

《idea粘贴空格时显示NBSP的问题及解决方案》在IDEA中粘贴代码时出现大量空格占位符NBSP,可以通过取消勾选AdvancedSettings中的相应选项来解决... 目录1、背景介绍2、解决办法3、处理完成总结1、背景介绍python在idehttp://www.chinasem.cna粘贴代码,出

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

JavaWeb 中的 Filter组件详解

《JavaWeb中的Filter组件详解》本文详细介绍了JavaWeb中的Filter组件,包括其基本概念、工作原理、核心接口和类、配置方式以及常见应用示例,Filter可以实现请求预处理、响应后... 目录JavaWeb 中的 Filter 详解1. Filter 基本概念1.1 什么是 Filter1.

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

SpringSecurity中的跨域问题处理方案

《SpringSecurity中的跨域问题处理方案》本文介绍了跨域资源共享(CORS)技术在JavaEE开发中的应用,详细讲解了CORS的工作原理,包括简单请求和非简单请求的处理方式,本文结合实例代码... 目录1.什么是CORS2.简单请求3.非简单请求4.Spring跨域解决方案4.1.@CrossOr

nacos服务无法注册到nacos服务中心问题及解决

《nacos服务无法注册到nacos服务中心问题及解决》本文详细描述了在Linux服务器上使用Tomcat启动Java程序时,服务无法注册到Nacos的排查过程,通过一系列排查步骤,发现问题出在Tom... 目录简介依赖异常情况排查断点调试原因解决NacosRegisterOnWar结果总结简介1、程序在

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A