这是我经常遇到的一个问题,我希望找到正确的方法来处理它.
所以我有这样的设置:
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中有一个函数来检查对象是否是a或b的实例.
所以我可能这样做:
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)
那么现在这是一个循环依赖.有一种优雅的方式来处理这个问题吗?