uniapp 数据父传子

文章目录


在uni-app中,父组件向子组件传递数据主要通过属性绑定的方式实现。这里提供一个简单的示例来说明如何进行父传子的数据传递:

父组件

准备数据: 在父组件的data中定义要传递的数据。

javascript 复制代码
export default {
  data() {
    return {
      parentMessage: "Hello from Parent"
    };
  }
};

模板中使用子组件: 在父组件的模板中引入子组件,并通过props将数据绑定到子组件的属性上。

html 复制代码
<template>
  <view>
    <child-component :child-message="parentMessage"></child-component>
  </view>
</template>

子组件

定义Props: 在子组件中,你需要先定义将要接收的属性(即来自父组件的数据)。这通常在组件的props选项中完成。

javascript 复制代码
export default {
  props: {
    childMessage: String // 假设我们传递的是一个字符串类型的数据
  }
};
javascript 复制代码
export default {
  props: {
dateList: {
      type: Array, // 指定dateList应该是一个数组类型
      default: () => [] // 设置默认值,以防父组件没有传递
    }
      }
};

使用传递的数据: 然后在子组件的模板或逻辑中,就可以直接使用这个childMessage属性了。

html 复制代码
<template>
  <view>
    <text>{{ childMessage }}</text>
  </view>
</template>
javascript 复制代码
// 如果需要在子组件的JS中使用该数据,也可以这样做
export default {
  props: {
    childMessage: String
  },
  methods: {
    someMethod() {
      console.log(this.childMessage); // 访问传递的值
    }
  }
};

通过这样的方式,父组件的数据就被成功传递给了子组件,并且子组件可以根据接收到的数据进行显示或进一步处理。

可能出现的问题

如果在onReady中打印this.dateList显示为"无效",可能是因为打印时的值确实为空或者打印语句本身有问题。但根据uni-app的生命周期,理论上onReady时props应该已经被初始化了。

确保父组件的数据dateList在子组件生命周期函数执行前已经被赋值。如果父组件的数据依赖于异步操作(如网络请求),则可能在子组件生命周期函数执行时数据还未准备好。

检查是否有语法错误或拼写错误。

如果问题依然存在,可以尝试在子组件的created或mounted钩子中打印this.dateList,看数据是否已经正确传递

您好,我是肥晨。

欢迎关注我获取前端学习资源,日常分享技术变革,生存法则;行业内幕,洞察先机。

相关推荐
00后程序员张12 小时前
iOS 上架费用全解析 开发者账号、App 审核、工具使用与开心上架(Appuploader)免 Mac 成本优化指南
android·macos·ios·小程序·uni-app·cocoa·iphone
前端与小赵19 小时前
uni-app开发安卓app时控制屏幕常亮不息屏
android·gitee·uni-app
2501_9160088920 小时前
HTTPS 请求抓包,从原理到落地排查的工程化指南(Charles / tcpdump / Wireshark / Sniffmaster)
ios·小程序·https·uni-app·wireshark·iphone·tcpdump
xiaohe060121 小时前
🥳 Uni ECharts 2.1 发布:正式支持鸿蒙,零成本迁移、全平台兼容、跨端开发零负担!
vue.js·uni-app·echarts
2501_915909061 天前
WebView 调试工具全解析,解决“看不见的移动端问题”
android·ios·小程序·https·uni-app·iphone·webview
2501_915106321 天前
App 怎么上架 iOS?从准备资料到开心上架(Appuploader)免 Mac 上传的完整实战流程指南
android·macos·ios·小程序·uni-app·iphone·webview
行走的陀螺仪2 天前
uni-app + Vue3 实现折叠文本(超出省略 + 展开收起)
前端·javascript·css·uni-app·vue3
小禾青青2 天前
uniapp安卓打包遇到报错:Uncaught SyntaxError: Invalid regular expression: /[\p{L}\p{N}]/
android·uni-app
环信即时通讯云2 天前
实现小程序 uniApp 输入框展示自定义表情包
小程序·uni-app
2501_915921432 天前
iOS 抓不到包怎么办?工程化排查与替代抓包方案(抓包/HTTPS/Charles代理/tcpdump)
android·ios·小程序·https·uni-app·iphone·tcpdump