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

郑州大型网站建设安徽网络优化公司排名

郑州大型网站建设,安徽网络优化公司排名,上海免费模板建站,济南网站建设咨询小七父传子defineProps 基本概念 在 Vue 3 中&#xff0c;父传子是一种组件间通信的方式&#xff0c;用于将父组件的数据传递给子组件。这种通信方式可以让组件之间更好地协作&#xff0c;实现功能的复用和模块的划分。 实现步骤 在父组件中传递数据 App.vue <template>…

在这里插入图片描述

父传子defineProps

基本概念

在 Vue 3 中,父传子是一种组件间通信的方式,用于将父组件的数据传递给子组件。这种通信方式可以让组件之间更好地协作,实现功能的复用和模块的划分。

实现步骤

在父组件中传递数据
App.vue

<template><Header propsName="夏天学编程" propsUrl="xiatian" /><button @click="countAdd">点击</button><Footer :="propsWeb" />
</template>
<script setup>import {reactive} from 'vue';import Header from './header.vue';import Footer from './footer.vue';const propsWeb = reactive({user:'夏天',url:'biancheng',count:10})const countAdd = () => {propsWeb.count++;console.log(propsWeb.count);}
</script>

在子组件中接收数据
在子组件header.vue和footer.vue中,需要使用props来接收父组件传递过来的数据。
首先,通过defineProps函数定义了一个props对象,它包含多个属性,并且指定了其类型。这是一种类型检查的方式,可以确保传递的数据类型符合预期。然后,将props里面的属性值赋值给propsWeb变量,这样就可以在子组件的模板中使用propsWeb来显示父组件传递过来的数据了。

header.vue

<template><h3>Header</h3>
</template>
<script setup>const props = defineProps(["propsName","propsUrl"])console.log(props)
</script>

footer.vue

<template><h3>Footer</h3>
</template>
<script setup>
const props = defineProps({user: String,url: {type: String,Required: true,default: "xiatian.com",},count: Number,
});
console.log(props);
</script>

数据类型检查和默认值

类型检查

在defineProps中可以对传递的数据进行类型检查,除了String类型,还可以是Number、Boolean、Object、Array等。

设置默认值

可以为props设置默认值,当父组件没有传递相应的数据时,子组件就会使用默认值。

动态数据传递

父组件传递的数据可以是动态变化的。例如,父组件中有一个按钮,点击按钮可以改变传递给子组件的数据。
当点击按钮时,count的值会改变,这个变化会自动传递给子组件,子组件会根据新的数据进行更新。这是因为 Vue 的响应式系统会自动跟踪数据的变化,并更新与之相关的组件。


子传父defineEmits

基本概念

在 Vue 3 中,子传父是组件间通信的重要方式。它允许子组件将数据或事件传递给父组件,从而实现组件之间的反向通信,这在构建复杂的应用程序结构时非常有用。

实现步骤

在父组件中监听事件并接收数据
App.vue

<template><Header @gitWeb="emitsGitWeb" @userAdd="emitsUserAdd"/>{{ web.url }} - {{ user }}
</template>
<script setup>import { ref, reactive } from 'vue'const web = reactive({name: "夏天",url: 'xiatian.com'})const user = ref(0)const emitsGitWeb = (data) => {console.log(data)}const emitsUserAdd = (data) => {console.log(data)user.value += data}
</script>

在子组件中触发事件

header.vue

<template><div><h1>我是header</h1><button @click="add">点击</button></div>
</template>
<script setup>const emits = defineEmits(['gitWeb','userAdd'])emits("gitWeb",{name:'夏天学编程',url:'www.xiatian.com'})// 子组件可以向父组件传递多个参数。const add = ()=>{emits('userAdd',10)}
</script>

事件名规范和注意事项

事件名规范

自定义事件名最好遵循一定的命名规范,比如使用小写字母和连字符的组合,这样可以提高代码的可读性。避免使用大写字母开头的驼峰命名法,因为在 HTML 模板中,事件名是大小写不敏感的,可能会导致一些难以发现的问题。

注意事项

父组件在监听子组件事件时,方法名要正确匹配。如果方法名拼写错误或者没有正确定义,那么在子组件触发事件时,父组件将无法正确接收和处理数据。同时,要注意defineEmits函数定义的事件名和子组件中emits触发的事件名要一致,否则事件无法正常触发。

http://www.tj-hxxt.cn/news/98439.html

相关文章:

  • asp网站安全如何做网站推广优化价格
  • 网络舆情监控sem优化托管
  • 中国商标网商标查询官网查询windows优化大师在哪里
  • 做下载网站有哪些搜索引擎seo是什么意思
  • 电销做网站的话术推广链接怎么制作
  • 做电影网站为什么查封不了直播营销的优势有哪些
  • 上海闵行做网站找文网客服联系方式
  • 福州市连江县建设局网站网站页面的优化
  • 网站建设中模板代码sem专员
  • 怎么做课题组网站软件培训机构有哪些?哪个比较好
  • 滁州注册公司流程和费用优化seo教程
  • 400电话实名制认证网站抖音推广怎么收费
  • 做网站属于什么科目友情链接怎么添加
  • 贵美商城网站的首页怎么做代码免费域名申请
  • ruby 网站开发天津seo排名
  • web.py做网站摘抄一小段新闻
  • 网站如何推广方式贵州网站seo
  • 用名字做头像是什么网站百度移动端排名
  • 天津东易日盛装饰公司seo快速工具
  • 个人做的网站可以收款台州关键词首页优化
  • 传播文化有限公司网站建设网站设计公司模板
  • 个人宽带弄网站可以吗西安建站推广
  • 通过关键词优化提升企业网站直接进入网站的代码
  • 专业做租赁的平台网站有哪些看到招聘游戏推广员千万别去
  • 独立站引流的方式有哪些百度关键词数据
  • 百度如何把网站做链接地址百度手机助手苹果版
  • 小程序启动失败 错误码seo免费优化网址软件
  • 视频网站如何做引流搜索引擎推广的关键词
  • 网站的建设的含义百度公司有哪些部门
  • 吉林网页制作公司百度seo排名点击器app