Это проблема, с которой я сталкиваюсь довольно часто, и я надеялся найти правильный способ справиться с ней.
Итак, у меня есть такая настройка:
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'
}
}
}
Хорошо теперь, что круговая зависимость. Есть ли элегантный способ справиться с этим?