vue获取子组件ref,

  vue获取子组件ref,

  本文主要介绍vue使用Ref跨级获取组件的步骤,帮助大家更好的理解和使用Vue框架。感兴趣的朋友可以了解一下。

  

Vue使用Ref跨层级获取组件实例

  

示例介绍

  在开发过程中,不可避免地会用到跨级ref实例获取。在大多数情况下,我们可以通过组件自己的父组件或子组件找到所需的实例。但当层次不明显或太深时,这种方法就不可避免地显得过于臃肿,效率低下。

  如下图所示,我们通过组件e得到组件D的组件实例。

  

文档目录结构

  有A、B、C、D、E、index六个组件,按照上图中的组件顺序插入到各自的页面中。

  页面样式如下:

  

安装vue-ref

  下载vue-ref

  npm安装vue-ref -保存

  全球注册

  从“vue-ref”导入参考

  Vue.use(引用)

  施用方式

  !- vm.dom将是dom节点-

  p v-ref=c=this.dom=chello/p

  !- vm.child将是子组件实例-

  子组件v-ref= c=this . child=c /子组件

  span v-for= n in 10 :key= n v-ref=(c,key)={.}{{ n }} /span

  

根组件自定义方法[使用provide和inject]

  在我们的索引页面中,提供了三种方法:它们用于:

  设置子组件setChildrenRef的实例。

  从组件实例获取,getChildrenRef

  获取当前节点实例getRef。

  提供(){

  返回{

  setChildrenRef: (name,ref)={

  这个[名称]=ref

  },

  getChildrenRef: name={

  归还此[姓名]

  },

  getRef: ()={

  归还这个

  }

  }

  },

  

分别说明各个页面

  组件页面a:

  通过注入方法获取setChildrenRef方法,通过上面的指令缓存组件D。

  组件页面b:

  组件页面c:

  组件页面d:

  e组件页面:

  在这个页面中,我们不仅注入了两个方法,还设置了一个方法来切换组件D的颜色,用来测试我们是否真的跨级得到了组件D的实例。

  

结果

  可以看到,parent的三个实例是一样的,组件D的文本样式已经在组件e中修改成功了,好!

  以上是Vue使用Ref跨级获取组件的步骤细节。更多关于vue使用Ref获取组件的信息,请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: