iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >uni-app组件通信的方式是什么
  • 499
分享到

uni-app组件通信的方式是什么

2024-04-02 19:04:59 499人浏览 泡泡鱼
摘要

这篇文章主要介绍“uni-app组件通信的方式是什么”,在日常操作中,相信很多人在uni-app组件通信的方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”uni-ap

这篇文章主要介绍“uni-app组件通信的方式是什么”,在日常操作中,相信很多人在uni-app组件通信的方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”uni-app组件通信的方式是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

uni-app的通信方式和Vue小程序是一样的 但语法上采用了vue的

主要分为 父传子 : props

子传父 通过 v-on 简写 @

兄弟组件通信 uni.$on

首先是父传子

父组件

<template>

<view class="content">

        <assembly :name="name"></assembly>

    </view>

</template>

<script>

import text from "/assembly/assembly.vue"

export default {

    data() {

return {

imageurl: [],

name: '子组件定义姓名'

}

},

components:{

  assembly: text

},

}

</script>

然后子组件assembly就可以通过props拿到这个name

代码如下

<template>

<view>{{ name }}</view>

</template>

<script>

export default {

data() {

return {

}

},

props: ["name"],

created(){

console.log(this.name);

},

}

</script>

这里需要注意 vue中的props是个大对象 而在uni中我们需要用一个 字符串数组来接

然后子传父的话 需要子组件调用父组件传递给自己的事件并传参

父组件

<template>

<view class="content">

        <assembly :name="name" @getname="getname"></assembly>

    </view>

</template>

<script>

import text from "/assembly/assembly.vue"

export default {

    data() {

return {

imageurl: [],

name: '子组件定义姓名'

}

},

components:{

  assembly: text

},

methods: {

  getname(name){

  console.log(name);

  }

}

}

</script>

此时我们定义了一个getname方法并传递给了子组件 并接受一个参数并打印出来

然后我们在子组件中调用他

<template>

<view @click="getname">{{ name }}</view>

</template>

<script>

export default {

data() {

return {

}

},

props: ["name"],

created(){

console.log(this.name);

},

methods: {

getname(){

this.$emit('getname','子组件传给父组件的值')

}

}

}

</script>

当我们点击view时 触发子组件自己的getname 然后在这个方法中调用了父组件传来的getname方法 并传递了参数

然后是兄弟组件传值

例如我们一个父组件同时引用了 texta 和 textb做自己的子组件

然后我们可以在texta中写

<template>

<viev>{{ name }}</view>

</template>

<script>

export default {

data() {

return {

name: '初始值'

    }

},

created(){

uni.$on('bingdts',res=>{

this.name = res

})

}

}

</script>

此时我们A组件就定义了一个bingdts方法 然后我们可以通过B组件 去调用这个方法和传参

textb组件写法

<template>

<view @click="getname">{{ name }}</view>

</template>

<script>

export default {

data() {

return {

name: "修改兄弟值"

}

},

methods: {

getname(){

uni.$emit('bingdts',111)

}

}

}

</script>

然后你就会发现 textb 的方法触发调用texta的bingdts 参数就会实现兄弟组件传值

到此,关于“uni-app组件通信的方式是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: uni-app组件通信的方式是什么

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

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

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

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

下载Word文档
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作