BREAKING CHANGE:
- Renderer:
* renderComponent method is removed form `Renderer`, only present on `RootRenderer`
* Renderer.setDebugInfo is removed. Renderer.createElement / createText / createTemplateAnchor
now take the DebugInfo directly.
- Query semantics:
* Queries don't work with dynamically loaded components.
* e.g. for router-outlet: loaded components can't be queries via @ViewQuery,
but router-outlet emits an event `activate` now that emits the activated component
- Exception classes and the context inside changed (renamed fields)
- DebugElement.attributes is an Object and not a Map in JS any more
- ChangeDetectorGenConfig was renamed into CompilerConfig
- AppViewManager.createEmbeddedViewInContainer / AppViewManager.createHostViewInContainer
are removed, use the methods in ViewContainerRef instead
- Change detection order changed:
* 1. dirty check component inputs
* 2. dirty check content children
* 3. update render nodes
Closes #6301
Closes #6567
30 lines
951 B
TypeScript
30 lines
951 B
TypeScript
import {Type} from 'angular2/src/facade/lang';
|
|
import {LifecycleHooks} from 'angular2/src/core/metadata/lifecycle_hooks';
|
|
|
|
export function hasLifecycleHook(lcInterface: LifecycleHooks, token): boolean {
|
|
if (!(token instanceof Type)) return false;
|
|
|
|
var proto = (<any>token).prototype;
|
|
|
|
switch (lcInterface) {
|
|
case LifecycleHooks.AfterContentInit:
|
|
return !!proto.ngAfterContentInit;
|
|
case LifecycleHooks.AfterContentChecked:
|
|
return !!proto.ngAfterContentChecked;
|
|
case LifecycleHooks.AfterViewInit:
|
|
return !!proto.ngAfterViewInit;
|
|
case LifecycleHooks.AfterViewChecked:
|
|
return !!proto.ngAfterViewChecked;
|
|
case LifecycleHooks.OnChanges:
|
|
return !!proto.ngOnChanges;
|
|
case LifecycleHooks.DoCheck:
|
|
return !!proto.ngDoCheck;
|
|
case LifecycleHooks.OnDestroy:
|
|
return !!proto.ngOnDestroy;
|
|
case LifecycleHooks.OnInit:
|
|
return !!proto.ngOnInit;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|