对于不同的库和不同的项目,此问题会间歇性地发生.尝试导入库时,将识别包,但无法解析类名.
如果在import语句中,我right-click -> Goto -> the package's declaration
看到所有反编译的类显示在侧窗格中 - 包括我需要的那些 - 如果我尝试自动完成import语句,我注意到我需要的类没有在落下.
我已经尝试使缓存无效,不起作用.我找不到任何类冲突 - 我的类路径中没有其他jar文件具有相同的包名称.我可以将此类导入其他项目.
请看屏幕截图:
有人有线索吗?
我有一个父容器和一个子组件。
子组件的数量是可变的,并从XHR请求中获取。
父组件:
@Component({
selector: 'parent',
template: `
<child *ngFor="let c of children" [c]="c"></child>
`
})
export default class ParentContainer implements AfterViewInit {
children: C[];
constructor(public api: Api) {
this.api.getC().subscribe(res => this.children = res);
ngAfterViewInit() {
console.log('parent afterNgView');
}
Run Code Online (Sandbox Code Playgroud)
子组件:
@Component({
selector: 'child',
template: `
<div>Child</div>
`
})
export default class ChildComponent implements AfterViewInit {
@Input() c: C;
ngAfterViewInit() {
console.log('child afterViewInit');
}
Run Code Online (Sandbox Code Playgroud)
执行此命令时,我会看到parent afterNgView
出现在所有child afterNgView
日志之前。我期望孩子ngAfterViewInit首先执行。
必须有一种方法可以确保在调用父处理程序之前完成所有子级的加载。我浏览了NG2 LifeCycle Hooks,并假设父AfterViewInit仅在子项之后被调用。事实并非如此。
我如何让孩子们通知父母他们已经完成了?应该有开箱即用的东西吗?
这是NG2 LifeCycle Hooks指南(https://angular.io/docs/ts/latest/guide/lifecycle-hooks.html)中的屏幕截图
这是我一直在做的事情,直到找到更清洁的东西: …