美文网首页
Vue 数据共享 以及 ref应用

Vue 数据共享 以及 ref应用

作者: 沃德麻鸭 | 来源:发表于2021-07-21 10:30 被阅读0次

组件之间最常见的关系有以下两种:

父子关系,兄弟关系


数据共享

一、父组件向子组件传递数据:需要使用自定义属性

示例代码

子组件props创建自定义属性,将自定义属性绑定在处于父组件中的子组件标签中,属性的就是父组件中data数据库中的数据值(通过v-bind:动态绑定父组件的值到子组件的自定义属性中。

二、子组件向父组件传递数据:

子组件向父组件传递数据

子组件创建自定义事件,通过$emit触发自定义函数,子组件的标签(父组件中的子组件标签)绑定自定义事件为父组件定义的事件处理函数父组件用事件处理函数的val接收由子组件传递过来的数据。

三、兄弟之间的数据传递

vue.2中,兄弟组件之间的数据共享方案时EventBus

步骤:

①创建eventBus.js模块,并向外共享一个Vue的实例对象

②在数据发送方,调用bus.$emit( '事件名称',要发送的数据 )方法触发自定义事件。  (使用之前要通过 import  bus from ''导入eventBus.js模块)

③在数据的接收方,调用bus.$on( '事件名称' ,事件处理函数)

兄弟间传递数据示例

ref引用

ref用来辅助开发者在不依赖于jQuery的情况下,获取DOM元素组件的引用,每个vue的组件实例上,都包含一个$refs对象,里面存储着对应的DOM元素组件的引用,默认情况下,组件的$refs指向一个空对象

使用ref属性,需要为对应的DOM元素添加引用名称 例:

ref应用在DOM元素上

如果想要使用ref引用页面上的组件实例,也可以给组件添加对应的引用名称。引用到组件的实例之后就可以调用组件上的 methods 方法

ref应用在组件实例

案例:通过inputVisible布尔值来控制组件中文本框和按钮的切换(先声明inputVisible为true还是false,用v-if 和v-else进行状态判断,true则显示对应的元素,相应的隐藏)

结构布局 行为部署

切换之后想让文本框自动获得焦点,那么就要为文本框添加ref引用,用来获得文本DOM节点,并同时调用原生DOM对象的.focus()方法,为了保证可以操作到最新的DOM元素,使用this.$nextTick(cb)方法cb是回调函数,具体代码如下:

this.$nextTick(cb)方法的使用

相关文章

  • Vue 数据共享 以及 ref应用

    组件之间最常见的关系有以下两种: 父子关系,兄弟关系 数据共享 一、父组件向子组件传递数据:需要使用自定义属性 由...

  • 16-vuex

    1. 概念 在vue中实现集中式状态(数据)管理的一个 vue 插件。对vue应用中多个组件的共享状态(数据)进行...

  • Vue3 Ref 与 Reactive的区别

    Vue3 在组件中使用ref()或reactive()都可以创建响应式数据 Vue2 中操作 Vue3 ref r...

  • Vue扩展

    VueX HTTP是无状态的,跨页面的数据无法共享,但Vue是单页面应用,VueX可以实现数据共享; VueX的更...

  • Vue 及双向数据绑定 Vue事件介绍 以及Vue中的ref获取

    1,vue的双向数据绑定和Vue事件介绍 2,Vue中ref获取dom节点

  • Vue2 和 Vue3 中的 watch 用法

    数据 vue2中的写法 vue3中的写法 情况一,监视 ref 所定义的一个响应式数据 情况二,监视 ref 所定...

  • Vue3入门到精通-setup

    传送门 Vue3入门到精通 --ref 以及 ref相关函数[https://www.jianshu.com/p/...

  • vue3学习

    一、基础语法 1、双向数据绑定 vue2 vue3 2、ref, reactive ref:一般用在定义基本类型和...

  • Vuex|Vue集中式数据管理插件

    Vuex简介 专门在Vue中实现集中式状态(数据)管理的一个Vue插件,对Vue应用中多个组件的共享状态进行集中管...

  • Vue提问系列

    1、说下Vue数据双向绑定的原理2、说说Vuex的作用以及应用场景3、说说Vue组件的数据通信方式4、Vue的源码...

网友评论

      本文标题:Vue 数据共享 以及 ref应用

      本文链接:https://www.haomeiwen.com/subject/uutypltx.html