ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° DtQuickFilter ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΈΠ»ΡΡΡΠΎΠ² Π²ΠΎ Π²Ρ ΠΎΠ΄ [filters] ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π΅ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ DtFilterField.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ DtQuickFilter Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΈΠ»ΡΡΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²Ρ ΠΎΠ΄ [filter]. ΠΠ°ΡΠ΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ (filterChanges).
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ DtQuickFilter ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΈΠ»ΡΡΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π² [filters], Π½ΠΎ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ° ExpressionChangedAfterItHasBeenCheckedError.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΡΠ½ΠΎ
ΠΡΠΈΠ²Π΅Ρ, @areknow, ΡΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄Π½ΡΠ»ΠΈ Π²ΠΎΠΏΡΠΎΡ.
Π― ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ - ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΡΠΈΠ»ΡΡΡΡ, Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²Ρ
ΠΎΠ΄ΠΎΠ². ΠΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ. ΠΠΎ Ρ ΠΌΠΎΠ³Ρ ΠΎΡΠΈΠ±Π°ΡΡΡΡ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ @lukasholzer, ΡΡ ΡΠΎΡΠ½ΠΎ Π·Π½Π°Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ :)
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ExpressionChangedAfterChecked - ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ.
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π²ΠΎ viewEngine.
ΠΡ ΠΏΡΡΠ°Π»ΠΈΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΅Π³ΠΎ Π² Π½Π°ΡΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ, Π½ΠΎ Π±Π΅Π·ΡΡΠΏΠ΅ΡΠ½ΠΎ. ΠΠ°ΠΌ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²Π½Π΅ stackblitz.
@areknow, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² viewEngine (ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ stackblitz ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ viewEngine)?
@ ffriedl89 ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ», ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ!
@gselltho Π― ΠΌΠΎΠ³Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ, ΡΡΠΎ ΠΌΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ viewEngine.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΏΠ°ΡΠ½ΠΈ!
@tomheller Π― ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΊΠ»ΡΡΠΈΠ» Ivy Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π½ΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ Π²ΠΈΠΆΡ ΠΎΡΠΈΠ±ΠΊΡ ExpressionChangedAfterChecked. ΠΠΎΠΆΠ΅Ρ, Π·Π΄Π΅ΡΡ ΡΡΠΎ-ΡΠΎ Π΅ΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ?
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΌΠ΅Π½Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. ΠΠΎΡΠ»Π΅ ΡΠ±ΠΎΡΠΊΠΈ Π² dev ΡΠ΅ΡΠ΅Π· Π½Π°Ρ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ (jenkins) ΠΎΡΠΈΠ±ΠΊΠ° Π½Π΅ Π²ΠΈΠ΄Π½Π° Π² dev env.
ΠΠΎΠΊΠ°Π»ΡΠ½ΠΎ Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ» ΠΏΠΎΠ»Π½ΡΠΉ npm ci
Π½ΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ Π²ΠΈΠΆΡ ΠΎΡΠΈΠ±ΠΊΡ. ΠΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΈΡΡΠΈΡΡ?
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
@areknow, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ aot
Π² angular.json
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π² --aot
ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ng serve ...
.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ JIT (ΠΊΠ°ΠΊ ΡΠ°Π· Π²ΠΎΠ²ΡΠ΅ΠΌΡ) - ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π½Π΅ Π²ΠΈΠ΄ΠΈΡΠ΅ Π΅Π΅ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 9 Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ AOT Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
https://angular.io/guide/aot-compiler#choosing -a-compiler
Π ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ @areknow Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΡ.
@areknow, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ
aot
Π²angular.json
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²--aot
ΠΊΠΎΠΌΠ°Π½Π΄Π΅ng serve ...
.Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ JIT (ΠΊΠ°ΠΊ ΡΠ°Π· Π²ΠΎΠ²ΡΠ΅ΠΌΡ) - ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π½Π΅ Π²ΠΈΠ΄ΠΈΡΠ΅ Π΅Π΅ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 9 Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ AOT Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
https://angular.io/guide/aot-compiler#choosing -a-compiler
@lukasholzer ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΎΡΠ²Π΅Ρ!
Π― ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ aot: true
Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ serve Π² angular.json, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π°Π³ --aot
Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ serve. Π― ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π²ΠΈΠΆΡ ΠΎΡΠΈΠ±ΠΊΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ π
ΠΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½Π½ΡΠΌ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΡΡΠΎ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°ΠΌΠΈ ivy: on|off
ΠΈ viewEngine: on|off
, Π½ΠΎ Π½Π°ΠΌ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΎΡΠΈΠ±ΠΊΡ. ΠΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΡΡ ΡΡΠΎ Π² stackblitz ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ±ΠΈΡΡ Ρ ΡΠΎΠ»ΠΊΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ. Π‘ Π½Π΅ΡΠ΅ΡΠΏΠ΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΄Ρ Π½Π°ΡΠ΅Π³ΠΎ Π·Π²ΠΎΠ½ΠΊΠ° @areknow. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΎΠ±Π΅ΡΠ΅ΠΌΡΡ Π²ΠΌΠ΅ΡΡΠ΅, ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ.
@tomheller Π·Π²ΡΡΠΈΡ Ρ ΠΎΡΠΎΡΠΎ!
@tomheller ΠΠ½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅: https://github.com/areknow/barista-quick-filter-bug
ΠΡΠ΅ Π΅ΡΠ΅ ΡΠ°Π΄Ρ Π²ΡΡΡΠ΅ΡΠ΅ Π² Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ π
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ @areknow ΠΌΡ ΡΠΌΠΎΠ³Π»ΠΈ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΌΡ Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΅Π³ΠΎ Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π½Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΡΠ²ΠΎ.