1. <div id="app">
  2. A{{msg}}
  3. <my-button :msg="msg"></my-button>
  4. </div>
  5. <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.7/vue.common.dev.js"></script>
  6.  
  7. <script>
  8. let vm = new Vue({
  9. el: '#app',
  10. data: {
  11. msg: '100'
  12. },
  13. mounted () {
  14. console.log(this.$parent, '父') // 没有父组件
  15. console.log(this.$children, '子') // 99组件
  16. },
  17. components: {
  18. 'MyButton': {
  19. template: `<div>B<my-radio></my-radio></div>`,
  20. data () {
  21. return {
  22. msg: '99'
  23. }
  24. },
  25. mounted () {
  26. console.log(this.$parent, '父') // 100组件
  27. console.log(this.$children, '子') // 88组件
  28. },
  29. components: {
  30. 'MyRadio': {
  31. template: `<div>C</div>`,
  32. data () {
  33. return {
  34. msg: '88'
  35. }
  36. },
  37. },
  38. },
  39. },
  40. }
  41. })
  42. </script>

$children 官方介绍:

当前实例的直接子组件。需要注意 $children 并不保证顺序,也不是响应式的。如果你发现自己正在尝试使用 $children 来进行数据绑定,考虑使用一个数组配合 v-for 来生成子组件,并且使用 Array 作为真正的来源。

$parent 官方介绍:

当前组件树的根 Vue 实例。如果当前实例没有父实例,此实例将会是其自己。

既然可以获取到组件的实例,那么就可以调用组件的属性或是方法进行操作

  1. <div id="app">
  2. A{{msg}}
  3. <my-button :msg="msg"></my-button>
  4. </div>
  5. <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.7/vue.common.dev.js"></script>
  6.  
  7. <script>
  8. let vm = new Vue({
  9. el: '#app',
  10. data: {
  11. msg: '100'
  12. },
  13. methods: {
  14. handleClick () {
  15. console.log('点击事件')
  16. this.$children.forEach(child => {
  17. child.todo()
  18. })
  19. }
  20. },
  21. components: {
  22. 'MyButton': {
  23. template: `<div @click="$parent.handleClick">B</div>`,
  24. data () {
  25. return {
  26. msg: '99'
  27. }
  28. },
  29. methods: {
  30. todo () {
  31. console.log('todo事件')
  32. }
  33. },
  34. },
  35. }
  36. })
  37. </script>

$children 是一个数组,是直接儿子的集合,关于具体是第几个儿子,那么儿子里面有个 _uid 属性,可以知道他是第几个元素,是元素的唯一标识符,根据这个属性,我们可以进行其他的操作

关于父子通讯的方式有很多种,那么其中就包含了$parent 和 $children

【vue】中 $parent 和 $children 的使用方法的更多相关文章

  1. js模仿jquery里的几个方法parent, parentUntil, children

    有时工作需要, 也是接着上一章的方法, 用js模仿jquery里的几个方法parent, parentUntil, children. function parent(node){ return no ...

  2. 详解vue全局组件与局部组件使用方法

    这篇文章主要为大家详细介绍了vue全局组件与局部组件的使用方法,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. vue全局/局部注册,以及一些混淆的组件main.js ...

  3. vue七种实现组建通信的方法

    目录 组件通信 1.props 父组件--->子组件通信 2.$emit 子组件--->父组件传递 $emit与props结合 兄弟组件传值 3.bus(事件总线) 兄弟组件通信 4.$p ...

  4. Vue中组件通信的几种方法(Vue3的7种和Vue2的12种组件通信)

    Vue3组件通信方式: props $emit expose / ref $attrs v-model provide / inject Vuex 使用方法: props 用 props 传数据给子组 ...

  5. Vue子组件调用父组件的方法

    Vue子组件调用父组件的方法   Vue中子组件调用父组件的方法,这里有三种方法提供参考 第一种方法是直接在子组件中通过this.$parent.event来调用父组件的方法 父组件 <temp ...

  6. Vue学习一:{{}}html模板使用方法

    本文为博主原创,未经允许不得转载: 之前自学了vue,在项目中应用了vue,由于是第一次使用,感觉非常强大,使用也非常方便,趁有时间,总结一下vue学习过程中 各个指令的使用方法,只要掌握了vue的指 ...

  7. Vue中子组件调用父组件的方法

    Vue中子组件调用父组件的方法 相关Html: <!DOCTYPE html> <html lang="en"> <head> <meta ...

  8. vue+element ui项目总结点(四)零散细节概念巩固如vue父组件调用子组件的方法、拷贝数据、数组置空问题 等

    vue config下面的index.js配置host: '0.0.0.0',共享ip (假设你的电脑启动了这个服务我电脑一样可以启动)-------------------------------- ...

  9. Vue的 $parent,并不能准确找到上一层的控件,所以如果需要,需要填坑这个 bug,递归寻找下上级

    Vue的 $parent,并不能准确找到上一层的控件,所以如果需要,需要填坑这个 bug,递归寻找下上级 // Find components upward function findComponen ...

随机推荐

  1. 洛谷P3396 哈希冲突

    分块还真是应用广泛啊...... 题意:求 解:以n0.5为界. 当p小于n0.5的时候,直接用p²大小的数组储存答案. 预处理n1.5,修改n0.5. 当p大于n0.5的时候,直接按照定义计算,复杂 ...

  2. (转) git--Remote远程仓库的使用

    远程仓库 远程仓库的作用 使用Git的远程仓库可以实现团队协作开发. 假设我们已经有了一个远程仓库,地址是:https://github.com/CnPeng/test.git 1) 克隆远程版本仓库 ...

  3. 第一节,初识OpenCV3-图像的读、写、显、格式转化等

    之前一直在看深度学习,突然用到了对图像处理的东西,所以过来补充一下OpenCV基础. 就顺便从网上了买了一本OpenCV 3计算机视觉这本书,这本书比较薄,但是目前已经够我用了,在这里就记录一下我的学 ...

  4. Day28--Python--网络通信协议 tcp与udp下的socket

    昨日内容回顾: 1. CS架构 服务端客户端架构 软件CS架构: 京东,淘宝,QQ,微信,暴风影音,快播 硬件CS架构: 打印机 服务端: 提供服务的 客户端: 享受服务的 BS架构: 浏览器和服务端 ...

  5. request鉴权的处理和判断

    一般查看蝉道bug管理工具bug列表的时候,会提示 Unauthorized  access,那是因为需要用户名和密码,一般用基本的认证,代码如下: 不是所有的系统都是开放的,有些人是不可以访问的,所 ...

  6. hdu 2476"String painter"(区间DP)

    传送门 https://www.cnblogs.com/violet-acmer/p/9852294.html 题意: 给定字符串A,B,每次操作可以将字符串A中区间[ i , j ]的字符变为ch, ...

  7. 开源的电商 B2C、B2B2C 电商系统-关于shopnc版权问题处处是陷阱啊

    最近有好多人收到过shopnc的律师函,关于这可能大部分人都是在淘宝购买的,或者直接在33hao购买的.很多人可能没注意版权的问题,以为在33hao购买就没问题,但这只是陷阱,大家一定要注意 来源:h ...

  8. Linux系统(centos)同步时间方式

    .删除本地时间并设置时区为上海 rm -rf /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 1 yum i ...

  9. nodeJS 调试debug

    一. 用chrome来调试 1)运行node的时候,带上 --inspect-brk=9999 node --inspect-brk= index.js 2)打开chrome调试管理页面 3)如果没有 ...

  10. Unity 如何检测鼠标双击事件

    代码如下: void OnGUI(){ Event e=Event.current; )) Debug.Log("用户双击了鼠标"); }