这是我遇到的相当频繁的问题,我希望找到正确的方法来处理它。ES6循环依赖
所以我有这样的设置:
parent.js:
export default {
x: 1
}
a.js:
import parent from 'parent.js'
export default parent.extend(a, { title: 'a' })
b.js:
import parent from 'parent.js'
export default parent.extend(b, { title: 'b' })
很酷,现在我有一些孩子。 但我决定我想在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'
}
}
}
现在好了,这是一个循环依赖。有没有一种优雅的方式来处理这个问题?
什么是'parent.extend'?那么'instanceof'如何在那里工作?有'新'吗? – elclanrs
对不起,应该已经更清楚了。为了简洁起见,我假设了某种Backbone-esque原型继承。 – Hud
'checkType'是否需要在主父文件中?看起来好像所有这些都会被解决,如果你把它放在一个不同的文件。 – loganfsmyth