fix(ivy): fix performance counter for textBinding instruction (#23924)
PR Close #23924
This commit is contained in:
parent
1cd9e6c2eb
commit
95074ca303
@ -1272,14 +1272,15 @@ export function text(index: number, value?: any): void {
|
||||
* @param value Stringified value to write.
|
||||
*/
|
||||
export function textBinding<T>(index: number, value: T | NO_CHANGE): void {
|
||||
ngDevMode && assertDataInRange(index);
|
||||
let existingNode = data[index] as LTextNode;
|
||||
ngDevMode && assertNotNull(existingNode, 'LNode should exist');
|
||||
ngDevMode && assertNotNull(existingNode.native, 'native element should exist');
|
||||
ngDevMode && ngDevMode.rendererSetText++;
|
||||
value !== NO_CHANGE &&
|
||||
(isProceduralRenderer(renderer) ? renderer.setValue(existingNode.native, stringify(value)) :
|
||||
existingNode.native.textContent = stringify(value));
|
||||
if (value !== NO_CHANGE) {
|
||||
ngDevMode && assertDataInRange(index);
|
||||
const existingNode = data[index] as LTextNode;
|
||||
ngDevMode && assertNotNull(existingNode, 'LNode should exist');
|
||||
ngDevMode && assertNotNull(existingNode.native, 'native element should exist');
|
||||
ngDevMode && ngDevMode.rendererSetText++;
|
||||
isProceduralRenderer(renderer) ? renderer.setValue(existingNode.native, stringify(value)) :
|
||||
existingNode.native.textContent = stringify(value);
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////
|
||||
|
@ -68,6 +68,12 @@ describe('render3 integration test', () => {
|
||||
|
||||
expect(renderToHtml(Template, 'benoit')).toEqual('benoit');
|
||||
expect(renderToHtml(Template, undefined)).toEqual('');
|
||||
expect(ngDevMode).toHaveProperties({
|
||||
firstTemplatePass: 0,
|
||||
tNode: 0,
|
||||
tView: 1,
|
||||
rendererSetText: 2,
|
||||
});
|
||||
});
|
||||
|
||||
it('should render "null" as "" when used with `bind()`', () => {
|
||||
@ -82,6 +88,12 @@ describe('render3 integration test', () => {
|
||||
|
||||
expect(renderToHtml(Template, 'benoit')).toEqual('benoit');
|
||||
expect(renderToHtml(Template, null)).toEqual('');
|
||||
expect(ngDevMode).toHaveProperties({
|
||||
firstTemplatePass: 0,
|
||||
tNode: 0,
|
||||
tView: 1,
|
||||
rendererSetText: 2,
|
||||
});
|
||||
});
|
||||
|
||||
it('should support creation-time values in text nodes', () => {
|
||||
@ -95,6 +107,12 @@ describe('render3 integration test', () => {
|
||||
}
|
||||
expect(renderToHtml(Template, 'once')).toEqual('once');
|
||||
expect(renderToHtml(Template, 'twice')).toEqual('once');
|
||||
expect(ngDevMode).toHaveProperties({
|
||||
firstTemplatePass: 0,
|
||||
tNode: 0,
|
||||
tView: 1,
|
||||
rendererSetText: 1,
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user