1.如何获取组件实例对象
在模板中可以通过当前组件中的this.$refs.组件里的数据.方法就可以在父组件里面使用子组件的方法进行调用
入下图的例子
这里他定义在scroll组件里面,我们可以通过下面的方式进行拿到这个对象
//因为detail是对应的一个对象ref一个映射
this.$refs.detail.scrollTo(0,-this.topScrollYs[index]+30 ,500)
官方的解释我感觉更有深度:
ref 被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs 对象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例:
2.怎样获取组件的根元素
this.topScrollYs = []
this.topScrollYs[0] = 0
this.topScrollYs[1] = this.$refs.parms.$el.offsetTop;
this.topScrollYs[2] = this.$refs.comment.$el.offsetTop;
this.topScrollYs[3] = this.$refs.recommend.$el.offsetTop;
//这个$el就是为了获得到组件的根元素DOM对象
官方解释如下
类型:Element(Dom 元素)只读 详细:Vue 实例使用的根 DOM 元素。