Итак, у меня есть компонент ' NodeComponent ' и служба « DataService », в NodeComponent мне нужно внедрить DataService, а в DataService мне нужно использовать NodeComponent для динамической обработки. c создает компонент, тогда эти две части, вероятно, импортируют друг друга , и эти части находятся в библиотеке angular; Затем у меня обнаружена круговая зависимость , но до того, как я поместил эти части в библиотеку, они были в моем обычном проекте angular, и нет предупреждения о круговой зависимости, что меня смутило. В то время как в приложении циклический импорт в порядке, но не в библиотеке, это определенное ограничение компиляции или я могу что-то сделать, чтобы этого избежать?
снимок кода:
NodeComponent
import {DataService} from './data.service'
@Component({...})
export class NodeComponent {
...
constructor(private dataService: DataService) {}
someFunctionNeedToCallDataService() {
...
}
}
DataService
import {NodeComponent} from './node.component'
@Injectable()
export class DataService {
private cache: Map<string, NodeComponent>;
...
constructor(){}
someMethodThatIsCreatingComponent() {
...
}
...
}