有时候我们需要父组件直接访问子组件或者子组件直接访问父组件。1.父访问子组件父访问子组件通常有两种方式:一种是使用$childre,另一种是使用$ref属性。1.在$children//父组件中打印mounted(){console.log(this.$children);};返回的结果是一个数组。由于文件只有一个组件,返回的是一个长度为1的数组this.$children[0].data//返回子组件的数据this.$children[0].showMethods()//调用子组件Root元素的子组件this.$children[0].$el//的showMethods方法...如果不包含子组件,默认返回空数组。2.如果$refs被加到一个普通元素上,this.$refs.name会得到DOM值。如果给组件添加了ref,this.$refs.name获取的是组件实例,可以使用组件的所有方法。使用ref的例子如下://子组件调用//Printconsole.log(this.$refs);打印结果如图:this.$refs返回一个对象。如果需要获取第一个子组件,可以使用:this.$refs.cldthis.$refs.cld.data//子组件数据this.$refs.cld.showMethods()//调用子组件的方法如果组件中没有ref属性,默认为空对象。3.$childrenVS$refschildren返回的是数组,而refs返回的是对象类型。使用children获取子组件时,容易被其他组件干扰,容易出错,所以很少使用children。经常使用$ref来获取子组件。2.子访问父子组件访问父组件时使用$parent。this.$parent返回一个对象。一般开发中很少使用,因为子组件拿的是父组件的数据,会导致两个组件之间的耦合度过高。当子组件是公共组件,可以到处导入使用时,则在别处引入子组件。就会出现问题。vue开发的项目最大的特点就是开发独立可复用的小组件来构建大型应用。所以基本不用$parent。3.访问根组件访问和组件使用$root。this.$root返回vue的实例化对象。this.$root.$el//根元素this.$root.data//vue实例中的数据