dengjunjie
5 天以前 4f39dcc195f28fa275fc2d065fbf1bf6a46c21b7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 获取父组件的参数,在支付宝小程序中不支持provide/inject的写法
// 在非H5中this.$parent可以获取到父组件,但是在H5中需要多次调用this.$parent.$parent.xxx
// 传递默认值undefined表示查找最顶层的$parent
export default function $parent(name = undefined) {
  let parent = this.$parent
  // 通过whle遍历,这里主要是为了H5需要多层解析
  while(parent) {
    // 父组件
    if (parent.$options && parent.$options.name !== name) {
      // 如果组件的name不相等,则继续查找
      parent = parent.$parent
    } else {
      return parent
    }
  }
  
  return false
}