$parent.js 645 B

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