Vue 父组件向子组件传值

Vue 父组件向子组件传值当我们将整个页面都拆分了不同的组件以后 这样就会涉及到组件之间的数据传递问题 常见的组件的通信可以分为三类 第一类 父组件向子组件传递数据第二类 子组件向父组件传递数据第三类 兄弟组件的数据传递 下面 我们先来看一下父组件向子组件传递数据的情况第一 子组件内部通过 props 接收传递过来的值 Vue component menu item props title props 后面跟一个数组 数组中的内容为字符串 这个字符串可以当做属性类使用 temp

当我们将整个页面都拆分了不同的组件以后,这样就会涉及到组件之间的数据传递问题。

常见的组件的通信可以分为三类:

第一类: 父组件向子组件传递数据

第二类: 子组件向父组件传递数据

第三类:兄弟组件的数据传递。

下面,我们先来看一下父组件向子组件传递数据的情况

第一:子组件内部通过props接收传递过来的值。

Vue.component('menu-item',{ props:['title'] // props后面跟一个数组,数组中的内容为字符串,这个字符串可以当做属性类使用。 template:' 
  
{ {title}}
'   })

第二: 父组件通过属性将值传递给子组件

 
   
   
   
  

下面看一下具体的案例演示:

     
  
           
   

下面我们在看一个例子,这个例子是前面我们写的关于局部组件的案例,我们在这个案例的基础上实现组件的传值。

       
  
        
   
         
    局部组件     
             
    
                     
      ​

在上面的代码中,我们首先给hello-msg 这个组件传递了一个属性title,该属性的值是固定的。在对应的HelloMsg组件内容定义props,来接收传递过来的title属性的值。然后在template模板中展示title的值。

接下来,又在vue实例中指定了一个content的属性,下面要将该属性的值传递给HelloMsg组件。

 
  

这里需要动态绑定的方式将content的值传递到HelloMsg组件。这里动态绑定的属性为pcontent,所以在HelloMsg组件内部,需要在props的数组中添加一个pcontent,最后在template模板中展示出pcontent的内容。

 // 定义HelloMsg组件      const HelloMsg = {        props: ["title", "pcontent"],        data() {          return {            msg: "Hello World",         };       },        template: ` 
  
{ {msg+'----------'+title+'-----------'+pcontent}}
`,     };

通过上面的案例,我们可以看到,在子组件中可以使用props来接收父组件中传递过来的数据。

但是,props在进行命名的时候,也是有一定的规则的。

如果在props中使用驼峰形式,模板中需要短横线的形式,如下代码案例所示:

Vue.component('menu-item',{   //在JavaScript中是驼峰形式   props:['menuTitle'],   template:' 
  
{ {menuTitle}}
' })    

下面看一下具体的代码演示:

       
  
        
   
         
    组件传值         
    
         
         

下面再来看一下props属性值的类型。

props 可以接收各种类型的值。

如下:

字符串(String

数值(Number)

布尔值(Boolean)

数组(Array)

对象(Object)

下面,将上面的类型都演示一下:

       
  
        
   
         
    props类型         
    
         
         

在上面的代码中,向menu-item组件中传递了各种类型的数据。

注意:

  
 
  

在上面的代码中,:num="10"表示传递的是数字,如果写成num="10" 表示传递的是字符,

同理b="true"传递的是字符,如果修改成:b=true表示传递的是布尔类型。

最后还传递了数组类型与对象类型的内容。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214921.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午3:08
下一篇 2026年3月18日 下午3:08


相关推荐

  • 计算机的历程_计算机的发展史简介课件

    计算机的历程_计算机的发展史简介课件一、史前时代:1623——1895

    2022年10月19日
    5
  • centos7 配置lamp 环境[通俗易懂]

    centos7 配置lamp 环境[通俗易懂]搭建版本版本组合php5.6+apache/2.4.6(centos7)+mysql5.7.24因为新系统不能确认哪些指令已经搭建所以安装前需要确认下是否拥有检测是否已经安装过Vimrpm-qa|grepvim显示出完整的包名:vim-common,vim-enhanced,vim-minimal,vim-filesystem表示安装成功若是缺少Vim包名:则使用命令:比如说:vim-enhanced这个包少了,执行:yum-yinstallvim-enha..

    2022年5月29日
    41
  • log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析

    log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析log4j over slf4j 和 slf4j log4j12 是跟 java 日志系统相关的两个 jar 包 当它们同时出现在 classpath 下时 就可能会引起堆栈溢出异常 先大致梳理了一下现有 Java 日志体系接口 然后仔细分析了这种异常出现的原因 最后重现异常并展示了详细的调用过程

    2026年1月18日
    2
  • Django的HttpRequest[通俗易懂]

    Django的HttpRequest[通俗易懂]HttpReqeust对象服务器接收到http协议的请求后,会根据报文创建HttpRequest对象,这个对象不需要我们创建,直接使用服务器构造好的对象就可以。视图的第一个参数必须是HttpRequest对象,在django.http模块中定义了HttpRequest对象的API。属性下面除非特别说明,属性都是只读的。path:一个字符串,表示请求的页面的完整路径,不包含域名和参数部分。…

    2022年6月26日
    28
  • DeepSeek 3分钟极速生成PPT,轻松搞定“五彩斑斓的黑”难题(保姆级教程)

    DeepSeek 3分钟极速生成PPT,轻松搞定“五彩斑斓的黑”难题(保姆级教程)

    2026年3月15日
    3
  • isnotempty和isnotnull_likely与possible和probable的区别

    isnotempty和isnotnull_likely与possible和probable的区别前两天因为用到isBlank,上网查了下,顺便放在CSDN上,希望能帮助到更多的人!!!isNotEmpty将空格也作为参数,isNotBlank则排除空格参数参考StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException…

    2022年8月12日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号