@@ -73,13 +73,13 @@ export class FlexRenderDirective<TProps extends NonNullable<unknown>>
7373 ) { }
7474
7575 ngOnChanges ( changes : SimpleChanges ) {
76- if ( changes [ 'content' ] ) {
77- this . renderFlags |= FlexRenderFlags . ContentChanged
78- }
7976 if ( changes [ 'props' ] ) {
8077 this . renderFlags |= FlexRenderFlags . PropsReferenceChanged
8178 }
82- this . checkView ( )
79+ if ( changes [ 'content' ] ) {
80+ this . renderFlags |= FlexRenderFlags . ContentChanged
81+ this . checkView ( )
82+ }
8383 }
8484
8585 ngDoCheck ( ) : void {
@@ -90,25 +90,18 @@ export class FlexRenderDirective<TProps extends NonNullable<unknown>>
9090 return
9191 }
9292
93- if (
94- this . renderFlags &
95- ( FlexRenderFlags . PropsReferenceChanged | FlexRenderFlags . ContentChanged )
96- ) {
97- return
98- }
99-
10093 const contentToRender = this . #getContentValue( this . props )
10194
10295 if ( contentToRender . kind === 'null' || ! this . renderView ) {
10396 this . renderFlags |= FlexRenderFlags . Creation
10497 } else {
10598 this . renderView . setContent ( contentToRender . content )
106- const previousContentInfo = this . renderView . previousContent
99+ this . renderFlags |= FlexRenderFlags . DirtyCheck
107100
108- this . renderFlags |=
109- contentToRender . kind === previousContentInfo . kind
110- ? FlexRenderFlags . DirtyCheck
111- : FlexRenderFlags . ContentChanged
101+ const previousContentInfo = this . renderView . previousContent
102+ if ( contentToRender . kind !== previousContentInfo . kind ) {
103+ this . renderFlags |= FlexRenderFlags . ContentChanged
104+ }
112105 }
113106
114107 this . checkView ( )
@@ -126,12 +119,11 @@ export class FlexRenderDirective<TProps extends NonNullable<unknown>>
126119 if ( this . renderFlags & FlexRenderFlags . PropsReferenceChanged ) {
127120 if ( this . renderView ) this . renderView . updateProps ( this . props )
128121 this . renderFlags &= ~ FlexRenderFlags . PropsReferenceChanged
129- return
130122 }
131123
132124 if ( this . renderFlags & FlexRenderFlags . DirtyCheck ) {
133125 if ( this . renderView ) this . renderView . dirtyCheck ( )
134- this . renderFlags &= ~ FlexRenderFlags . DirtyCheck
126+ this . renderFlags = FlexRenderFlags . Pristine
135127 }
136128 }
137129
@@ -143,9 +135,7 @@ export class FlexRenderDirective<TProps extends NonNullable<unknown>>
143135 return
144136 }
145137 this . renderView = this . #renderViewByContent( resolvedContent )
146- this . renderFlags &= ~ (
147- FlexRenderFlags . ContentChanged | FlexRenderFlags . PropsReferenceChanged
148- )
138+ this . renderFlags = FlexRenderFlags . Pristine
149139 }
150140
151141 #renderViewByContent(
0 commit comments