当前位置: 首页 > article >正文

『VUE』22. 组件传递数据props(详细图文注释)

目录

    • props
    • 代码实现
    • 传递多种数据类型
    • 总结


欢迎关注 『VUE』 专栏,持续更新中
欢迎关注 『VUE』 专栏,持续更新中

props

Vue.js中的props是用来父子组件之间传递数据的机制。在Vue组件中,可以通过props属性来定义需要从父组件接收的数据,然后在父组件中通过标签属性的形式传递这些数据给子组件。

在子组件中,可以通过props选项来声明要接收的属性,并且在子组件中就可以像访问data中的数据一样来访问props中的数据。

注意:只能是父给子不能父从子那里拿.


代码实现

父亲在子组件中添加属性

<Child title="parent的数据" />

子组件拿到数据,注意是字符串格式的title

  props: ["title"],

child中拿到来自parent的title数据
app.vue

<template>
  <!-- <GlobalHeader />
  <Main />
  <Aside /> -->
  <Parent />
</template>

<script>
// import Header from "./page/Header.vue";
// import Main from "./page/Main.vue";
// import Aside from "./page/Aside.vue";
import Child from "./components/Child.vue";
import Parent from "./components/Parent.vue";

export default {
  components: {
    // Header,
    // Main,
    // Aside,
    Child,
    Parent,
  },
};
</script>

<style scoped></style>

child.vue

<template>
  <h3>Child</h3>
  <p>拿到的父组件数据:{{ title }}</p>
</template>
<script>
export default {
  data() {
    return {};
  },
  props: ["title"],
};
</script>

parent.vue

<template>
  <h3>Parent</h3>
  <Child title="parent的数据" />
</template>

<script>
import Child from "./Child.vue";
export default {
  data() {
    return {};
  },
  components: {
    Child,
  },
};
</script>

在这里插入图片描述


传递多种数据类型

这里:title="title"和前面的 title="parent的数据" 有区别,这里的写法在data中配置数据,请注意不要忘记了:号.可以传递多种类型的数据.

Child.vue

<template>
  <h3>Child</h3>
  <p>字符串数据:{{ title }}</p>
  <p>num数据:{{ num }}</p>
  <ul>
    <li v-for="(item, index) of arry_data" :key="index">{{ item }}</li>
  </ul>
  <br />
  <ul>
    <li v-for="(item, index) of qwer" :key="index">{{ item }}</li>
  </ul>
</template>
<script>
export default {
  data() {
    return {};
  },
  props: ["title", "num", "arry_data", "qwer"],
};
</script>

Parent.vue

<template>
  <h3>Parent</h3>
  <Child :title="title" :num="num" :arry_data="arry_data" :qwer="mzh" />
</template>

<script>
import Child from "./Child.vue";
export default {
  data() {
    return {
      title: "parent的数据",
      num: 20,
      arry_data: ["mzh", "sxwlxy", "wg191"],
      mzh: {
        name: "mzh",
        age: 23,
      },
    };
  },
  components: {
    Child,
  },
};
</script>



在这里插入图片描述

总结

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2024 mzh

Crated:2024-3-1

欢迎关注 『VUE』 专栏,持续更新中
欢迎关注 『VUE』 专栏,持续更新中
『未完待续』



http://www.kler.cn/a/387507.html

相关文章:

  • 河南省的一级科技查新机构有哪些?
  • Python教程笔记(1)
  • 【GPTs】MJ Prompt Creator:轻松生成创意Midjourney提示词
  • LED和QLED的区别
  • [免费]SpringBoot+Vue3校园宿舍管理系统(优质版)【论文+源码+SQL脚本】
  • SDL渲染器和纹理
  • Spark的学习-02
  • 微积分复习笔记 Calculus Volume 1 - 4.10 Antiderivatives
  • Pr 视频过渡:沉浸式视频 - VR 色度泄漏
  • #渗透测试#SRC漏洞挖掘# 操作系统-Linux系统之病毒防护
  • 《JVM第8课》垃圾回收算法
  • 软考:论DevOps
  • 编码算法笔记(base64,url编码等)
  • iphone怎么删除重复的照片的新策略
  • Elasticsearch里的索引index是什么概念?(ChatGPT回答)
  • 机器学习 - 为 Jupyter Notebook 安装新的 Kernel
  • ArcGIS软件之“计算面积几何”地图制作
  • 人工智能技术的应用前景及未来发展:改变工作与生活的力量
  • opencv 中 threshold 函数作用
  • 万字长文解读深度学习——GPT、BERT、T5
  • Ubuntu 22.04安装ROS 1教程汇总
  • 多线程---线程池
  • # filezilla连接 虚拟机ubuntu系统出错“尝试连接 ECONNREFUSED - 连接被服务器拒绝, 失败,无法连接服务器”解决方案
  • SQL,力扣题目1127, 用户购买平台
  • 本地 Hadoop 开发环境搭建详解
  • MTK6833/MT6833(天玑700)安卓核心板_联发科5G智能通讯模块安卓主板定制