diff --git a/packages/core/src/render3/instructions.ts b/packages/core/src/render3/instructions.ts index a4df47a916..a330ad78bd 100644 --- a/packages/core/src/render3/instructions.ts +++ b/packages/core/src/render3/instructions.ts @@ -1157,13 +1157,12 @@ export function elementStyle( * * @param index Index of the node in the data array. * @param value Value to write. This value will be stringified. - * If value is not provided than the actual creation of the text node is delayed. */ export function text(index: number, value?: any): void { ngDevMode && assertEqual( currentView.bindingStartIndex, -1, 'text nodes should be created before bindings'); - const textNode = value != null ? createTextNode(value, renderer) : null; + const textNode = createTextNode(value, renderer); const node = createLNode(index, LNodeType.Element, textNode); // Text nodes are self closing. isParent = false; @@ -1180,17 +1179,11 @@ export function text(index: number, value?: any): void { export function textBinding(index: number, value: T | NO_CHANGE): void { ngDevMode && assertDataInRange(index); let existingNode = data[index] as LTextNode; - ngDevMode && assertNotNull(existingNode, 'existing node'); - if (existingNode.native) { - // If DOM node exists and value changed, update textContent - value !== NO_CHANGE && - (isProceduralRenderer(renderer) ? renderer.setValue(existingNode.native, stringify(value)) : - existingNode.native.textContent = stringify(value)); - } else { - // Node was created but DOM node creation was delayed. Create and append now. - existingNode.native = createTextNode(value, renderer); - insertChild(existingNode, currentView); - } + ngDevMode && assertNotNull(existingNode, 'LNode should exist'); + ngDevMode && assertNotNull(existingNode.native, 'native element should exist'); + value !== NO_CHANGE && + (isProceduralRenderer(renderer) ? renderer.setValue(existingNode.native, stringify(value)) : + existingNode.native.textContent = stringify(value)); } ////////////////////////// diff --git a/packages/core/src/render3/node_manipulation.ts b/packages/core/src/render3/node_manipulation.ts index 5da3dfc750..3fcfd2a99a 100644 --- a/packages/core/src/render3/node_manipulation.ts +++ b/packages/core/src/render3/node_manipulation.ts @@ -180,12 +180,6 @@ export function addRemoveViewFromContainer( const renderer = container.view.renderer; if (node.type === LNodeType.Element) { if (insertMode) { - if (!node.native) { - // If the native element doesn't exist, this is a bound text node that hasn't yet been - // created because update mode has not run (occurs when a bound text node is a root - // node of a dynamically created view). See textBinding() in instructions for ctx. - (node as LTextNode).native = createTextNode('', renderer); - } isProceduralRenderer(renderer) ? renderer.insertBefore(parent, node.native !, beforeNode as RNode | null) : parent.insertBefore(node.native !, beforeNode as RNode | null, true); diff --git a/packages/core/test/bundling/todo/bundle.golden_symbols.json b/packages/core/test/bundling/todo/bundle.golden_symbols.json index d402f1e7d0..d2f31dfa1f 100644 --- a/packages/core/test/bundling/todo/bundle.golden_symbols.json +++ b/packages/core/test/bundling/todo/bundle.golden_symbols.json @@ -458,9 +458,6 @@ { "name": "injectViewContainerRef" }, - { - "name": "insertChild" - }, { "name": "insertView" },