【vue】defineProps 传数据 父传子

先行知识

传值过程

App.vue

html 复制代码
<template>

  <Header name="1234567890" url="https://www.1234567890.com" />
  <hr>
  <!-- <Footer v-bind="propsWeb" /> -->
  <Footer :="propsWeb" />
  <hr>
  <button @click="addUser();">添加用户</button>
</template>

<script setup>
import { ref, reactive } from 'vue'
import Header from './components/Header.vue'
import Footer from './components/Footer.vue'

/*非响应式数据,子组件中的值不会随之变化
const propsWeb = ({
  user: 15,
  // url:"https://www.1234567890.com"
})*/
//响应式数据
const propsWeb = reactive({
  user: 15,
  // url:"https://www.1234567890.com"
})

const addUser = () => {
  propsWeb.user++;
  console.log(propsWeb.user);
}
</script>


<style lang="scss" scoped></style>

Header.vue

html 复制代码
<template>
    <h2>header</h2>
    <p>name: {{ props.name }}</p>
    <p>url: {{ props.url }}</p>
</template>

<script setup>
const props = defineProps(
    ["name", "url"]
)

</script>

<style lang="scss" scoped></style>

Footer.vue

html 复制代码
<template>
    <h2>footer</h2>
    <p>User: {{ user }}</p>
    <p>Url: {{ url }}</p>
</template>

<script setup>
const props = defineProps({
    user: Number,
    url: {
        type: String,// 这里可以设置类型
        required: true,// 这里可以设置必填项
        default: 'default url'// 这里可以设置默认值
    }
})
console.log(props.user)
console.log(props.url)
</script>

<style lang="scss" scoped></style>

参考

https://www.bilibili.com/video/BV1nV411Q7RX

相关推荐
TheITSea26 分钟前
JavaScript Web APIs
开发语言·前端·javascript
专业程序开发源37 分钟前
springboot生命故事书制作小程序65290-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·小程序·课程设计
鬓戈40 分钟前
Claude Code frontend-design 插件调研 与 Vue 旧系统风格一致性方案
前端·vue.js·人工智能
开开心心就好1 小时前
以图搜图找重复图片,本地工具离线就能用
javascript·智能手机·ffmpeg·c#·ocr·word·音视频
vx_Biye_Design1 小时前
springboot角色扮演服务平台65161-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·spring·课程设计
企业数字化笔记1 小时前
视频局部合成怎么做得自然?掩膜修复、边缘羽化、时序稳定与背景替换
java·javascript·音视频
vx_Biye_Design1 小时前
springboot咖啡厅顾客点单管理系统12080-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·课程设计·express
vx_Biye_Design2 小时前
springbootNBA数据分析系统平台42434-计算机课程设计、毕业设计
java·vue.js·spring boot·python·django·课程设计·express
liangshanbo12153 小时前
JavaScript 面试题:Object.keys() 的返回顺序是无序的吗?
开发语言·javascript·ecmascript
默_笙16 小时前
🚦 请三个 AI 考官给 RAG 打分:量化评估实战(下)
前端·javascript