iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Vue3组件间传值的坑有哪些及怎么解决
  • 930
分享到

Vue3组件间传值的坑有哪些及怎么解决

2023-07-06 12:07:14 930人浏览 薄情痞子
摘要

这篇文章主要讲解了“vue3组件间传值的坑有哪些及怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3组件间传值的坑有哪些及怎么解决”吧!实例填坑坑一1. 发现天坑我们通过一个计数

这篇文章主要讲解了“vue3组件间传值的坑有哪些及怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3组件间传值的坑有哪些及怎么解决”吧!

    实例填坑

    坑一
    1. 发现天坑

    我们通过一个计数器组件来演示这个坑,当想对父组件传递过来的值做操作时,发现操作无效,先看代码:

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta Http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <script src="https://unpkg.com/vue@next"></script>    <title>组件间传值</title></head><body>    <div id="root"></div></body><script>    const app = Vue.createApp({        data() {            return {                num:0            }        },       template: `                <div>                   <counter :count = "num"/>                </div>                `     });    // 定义一个test组件    app.component('counter',{       props: ['count'],      template: `<div @click="count+=1">{{count}}</div>`    });    const vm = app.mount('#root');</script></html>

    在上面的代码中,我们定义了一个counter组件接收父组件的一个count值,当点击这个显示的值时,我们做加一操作。这时候我们运行代码会发现,我们的值并不会完成加一操作,而是会报父组件传递过来的值是只读的:

    Vue3组件间传值的坑有哪些及怎么解决

    2. 填坑时刻

    那假如我们要完成这个加一的功能怎么办呢?答案就是我们复制一份父组件传递过来的值,对我们自己的值进行操作:

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <script src="https://unpkg.com/vue@next"></script>    <title>组件间传值</title></head><body>    <div id="root"></div></body><script>    const app = Vue.createApp({        data() {            return {                num:0            }        },       template: `                <div>                   <counter :count = "num"/>                </div>                `     });    // 定义一个test组件    app.component('counter',{       props: ['count'],       data(){        return{            mCount:this.count        }       },      template: `<div @click="mCount+=1">{{mCount}}</div>`    });    const vm = app.mount('#root');</script></html>

    这时候我们再运行代码就会发现我们可以做加一操作了:

    Vue3组件间传值的坑有哪些及怎么解决

    坑2:
    1.发现天坑

    当我们定义一个单词名称比较长的属性,并且用“-”分隔符连接的时候,子组件无法接收到正确的值,显示NaN。代码如下:

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <script src="https://unpkg.com/vue@next"></script>    <title>组件间传值</title></head><body>    <div id="root"></div></body><script>    const app = Vue.createApp({        data() {            return {                content:"hello world"            }        },       template: `                <div>                   <test :content-helloworld = "content"/>                </div>                `     });    // 定义一个test组件    app.component('test',{       props: ['content-helloworld'],      template: `<div>{{content-helloworld}}</div>`    });    const vm = app.mount('#root');</script></html>

    在上面的代码中,我们使用content-helloworld这个属性在父组件和子组件之间传值,按照我们的理解,应该是能传递成功的,但是显示的结果却不正确

    Vue3组件间传值的坑有哪些及怎么解决

    上面到坑也是VUE中的单向数据流的概念,即子组件可以使用父组件传递过来的数据,但是不能修改父组件传递过来的数据

    2.填坑时刻

    当我们定义的属性值中有用“-”分隔符分隔时,我们在接收值的时候,需要将属性名改成驼峰命名的方式,如上面的例子中父组件使用content-helloworld传递值到子组件,那么子组件接收到时候应该将其改成驼峰命名方式:使用contentHelloworld接收

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <script src="https://unpkg.com/vue@next"></script>    <title>组件间传值</title></head><body>    <div id="root"></div></body><script>    const app = Vue.createApp({        data() {            return {                content:"hello world"            }        },       template: `                <div>                   <test :content-helloworld = "content"/>                </div>                `     });    // 定义一个test组件    app.component('test',{       props: ['contentHelloworld'],      template: `<div>{{contentHelloworld}}</div>`    });    const vm = app.mount('#root');</script></html>

    这样值就能正确显示了

    Vue3组件间传值的坑有哪些及怎么解决

    感谢各位的阅读,以上就是“Vue3组件间传值的坑有哪些及怎么解决”的内容了,经过本文的学习后,相信大家对Vue3组件间传值的坑有哪些及怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

    --结束END--

    本文标题: Vue3组件间传值的坑有哪些及怎么解决

    本文链接: https://www.lsjlt.com/news/358086.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Vue3组件间传值的坑有哪些及怎么解决
      这篇文章主要讲解了“Vue3组件间传值的坑有哪些及怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3组件间传值的坑有哪些及怎么解决”吧!实例填坑坑一1. 发现天坑我们通过一个计数...
      99+
      2023-07-06
    • Vue3组件间传值避坑方法有哪些
      实例填坑坑一1. 发现天坑我们通过一个计数器组件来演示这个坑,当想对父组件传递过来的值做操作时,发现操作无效,先看代码:<!DOCTYPE html> <html lang="en"> <h...
      99+
      2023-05-15
      Vue3
    • vue3子组件之间相互传值问题怎么解决
      这篇文章主要介绍“vue3子组件之间相互传值问题怎么解决”,在日常操作中,相信很多人在vue3子组件之间相互传值问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue3子组件之间相互传值问题怎么解决...
      99+
      2023-07-05
    • vue组件之间相互传值的方式有哪些
      这篇文章给大家分享的是有关vue组件之间相互传值的方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。概述我们都知道 Vue 作为一个轻量级的前端框架,其核心就是组件化开发。Vue 就是由一个一个的组件构成的...
      99+
      2023-06-15
    • vue组件传值的方式有哪些
      这篇文章主要介绍vue组件传值的方式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 组件传值方式:1、通过路由进行传值;2、通过在父组件中让子组件标...
      99+
      2024-04-02
    • angular组件传值的方法有哪些
      Angular组件之间传值的方法有以下几种: 输入属性(@Input):在子组件上通过@Input装饰器定义一个输入属性,然后在...
      99+
      2023-10-24
      angular
    • uniapp组件传值的方法有哪些
      这篇文章主要介绍“uniapp组件传值的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“uniapp组件传值的方法有哪些”文章能帮助大家解决问题。父组件给子组件传值创建子组件comp.vue...
      99+
      2023-07-05
    • Go Slice扩容的坑有哪些及怎么解决
      这篇文章主要介绍“Go Slice扩容的坑有哪些及怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Go Slice扩容的坑有哪些及怎么解决”文章能帮助大家解决问题。知识重温...
      99+
      2023-07-05
    • Vue中父子组件间传值问题怎么解决
      本篇内容介绍了“Vue中父子组件间传值问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一.父组件向子组件传值父组件向子组件传值会用...
      99+
      2023-07-05
    • 记VUE3+TS获取组件类型的方法踩坑及解决
      目录VUE3+TS获取组件类型的方法踩坑遇到的坑问题原因解决办法VUE3+TS获取组件ref实例如何获取组件的类型呢?总结VUE3+TS获取组件类型的方法踩坑 获取组件类型的方法 c...
      99+
      2023-03-06
      VUE3 TS VUE3获取组件类型 VUE3 TS获取组件类型
    • vue中组件间相互通信传值的方法有哪些
      这篇文章主要讲解了“vue中组件间相互通信传值的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue中组件间相互通信传值的方法有哪些”吧!vue中组件之间相互通讯传值的方式我们在使...
      99+
      2023-06-29
    • VUE3+TS获取组件类型遇到的坑怎么解决
      VUE3+TS获取组件类型的方法踩坑获取组件类型的方法const AccountRef = ref<InstanceType<typeof LoginAccount>>()遇到的坑typeof LoginAccoun...
      99+
      2023-05-14
      Vue3 ts
    • vue兄弟组件传值的方法有哪些
      这篇文章主要介绍了vue兄弟组件传值的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。五种方法为:1、父组件向子组件进行传值;2、子组件向父组件进行传值;3、父组件中...
      99+
      2023-06-15
    • Vue3中怎么修改父组件传递到子组件中的值
      这篇文章主要介绍了Vue3中怎么修改父组件传递到子组件中的值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3中怎么修改父组件传递到子组件中的值文章都会有所收获,下面我们一起来看看吧。自定义组件上使用v-m...
      99+
      2023-07-06
    • Vue子组件接收父组件传值的方式有哪些
      这篇文章给大家分享的是有关Vue子组件接收父组件传值的方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。父组件代码&darr;<template>   &n...
      99+
      2023-06-29
    • 使用最小WEB API实现文件上传会遇到哪些坑及怎么解决
      这篇“使用最小WEB API实现文件上传会遇到哪些坑及怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“使用最...
      99+
      2023-06-29
    • vue中的传值及赋值问题怎么解决
      这篇文章主要介绍“vue中的传值及赋值问题怎么解决”,在日常操作中,相信很多人在vue中的传值及赋值问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中的传值及赋值问题怎么解决”的疑惑有所帮助!...
      99+
      2023-06-30
    • 微信小程序子组件传值的方法有哪些
      微信小程序子组件传值的方法有以下几种:1. 使用父组件的properties属性来传递值:在子组件中,通过properties定义需...
      99+
      2023-09-29
      微信小程序
    • Flutter怎么使用RepositoryProvider解决跨组件传值问题
      这篇文章主要介绍“Flutter怎么使用RepositoryProvider解决跨组件传值问题”,在日常操作中,相信很多人在Flutter怎么使用RepositoryProvider解决跨组件传值问题问题上存在疑惑,小编查阅了各式资料,整理...
      99+
      2023-06-29
    • vue实现父子组件间传值的代码怎么写
      今天小编给大家分享一下vue实现父子组件间传值的代码怎么写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。先定义一个子组件,在...
      99+
      2023-07-04
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作