小编Hud*_*Hud的帖子

ES6循环依赖

这是我经常遇到的一个问题,我希望找到正确的方法来处理它.

所以我有这样的设置:

parent.js:

export default {
  x: 1
}
Run Code Online (Sandbox Code Playgroud)

a.js:

import parent from 'parent.js'
export default parent.extend(a, { title: 'a' })
Run Code Online (Sandbox Code Playgroud)

b.js:

import parent from 'parent.js'
export default parent.extend(b, { title: 'b' })
Run Code Online (Sandbox Code Playgroud)

很酷,现在我有了一些孩子.但我决定在parent.js中有一个函数来检查对象是否是ab的实例.

所以我可能这样做:

parent.js:

import a from 'a'
import b from 'b'

export default {
  x: 1,
  checkType (obj) {
    if (obj instanceof a) {
      return 'a'
    } else if (obj instanceof b) {
      return 'b'
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

那么现在这是一个循环依赖.有一种优雅的方式来处理这个问题吗?

javascript circular-dependency commonjs ecmascript-6

10
推荐指数
2
解决办法
2962
查看次数