MCPcopy Index your code
hub / github.com/angular/angular / createLView

Function createLView

packages/core/src/render3/view/construction.ts:173–224  ·  view source on GitHub ↗
(
  parentLView: LView | null,
  tView: TView,
  context: T | null,
  flags: LViewFlags,
  host: RElement | null,
  tHostNode: TNode | null,
  environment: LViewEnvironment | null,
  renderer: Renderer | null,
  injector: Injector | null,
  embeddedViewInjector: Injector | null,
  hydrationInfo: DehydratedView | null,
)

Source from the content-addressed store, hash-verified

171}
172
173export function createLView<T>(
174 parentLView: LView | null,
175 tView: TView,
176 context: T | null,
177 flags: LViewFlags,
178 host: RElement | null,
179 tHostNode: TNode | null,
180 environment: LViewEnvironment | null,
181 renderer: Renderer | null,
182 injector: Injector | null,
183 embeddedViewInjector: Injector | null,
184 hydrationInfo: DehydratedView | null,
185): LView<T> {
186 const lView = tView.blueprint.slice() as LView;
187 lView[HOST] = host;
188 lView[FLAGS] =
189 flags |
190 LViewFlags.CreationMode |
191 LViewFlags.Attached |
192 LViewFlags.FirstLViewPass |
193 LViewFlags.Dirty |
194 LViewFlags.RefreshView;
195 if (
196 embeddedViewInjector !== null ||
197 (parentLView && parentLView[FLAGS] & LViewFlags.HasEmbeddedViewInjector)
198 ) {
199 lView[FLAGS] |= LViewFlags.HasEmbeddedViewInjector;
200 }
201 resetPreOrderHookFlags(lView);
202 ngDevMode && tView.declTNode && parentLView && assertTNodeForLView(tView.declTNode, parentLView);
203 lView[PARENT] = lView[DECLARATION_VIEW] = parentLView;
204 lView[CONTEXT] = context;
205 lView[ENVIRONMENT] = (environment || (parentLView && parentLView[ENVIRONMENT]))!;
206 ngDevMode && assertDefined(lView[ENVIRONMENT], 'LViewEnvironment is required');
207 lView[RENDERER] = (renderer || (parentLView && parentLView[RENDERER]))!;
208 ngDevMode && assertDefined(lView[RENDERER], 'Renderer is required');
209 lView[INJECTOR as any] = injector || (parentLView && parentLView[INJECTOR]) || null;
210 lView[T_HOST] = tHostNode;
211 lView[ID] = getUniqueLViewId();
212 lView[HYDRATION] = hydrationInfo;
213 lView[EMBEDDED_VIEW_INJECTOR as any] = embeddedViewInjector;
214
215 ngDevMode &&
216 assertEqual(
217 tView.type == TViewType.Embedded ? parentLView !== null : true,
218 true,
219 'Embedded views must have parentLView',
220 );
221 lView[DECLARATION_COMPONENT_VIEW] =
222 tView.type == TViewType.Embedded ? parentLView![DECLARATION_COMPONENT_VIEW] : lView;
223 return lView as LView<T>;
224}
225
226export function createComponentLView<T>(
227 lView: LView,

Callers 7

constructorMethod · 0.90
di_spec.tsFile · 0.90
enterViewWithOneDivFunction · 0.90
recreateFunction · 0.90
createComponentRefMethod · 0.90
createComponentLViewFunction · 0.70

Calls 5

resetPreOrderHookFlagsFunction · 0.90
assertTNodeForLViewFunction · 0.90
assertDefinedFunction · 0.90
getUniqueLViewIdFunction · 0.90
assertEqualFunction · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…