Frontender Libs - ΠΎΠ±Π·ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ JS / CSS
Kanalga Telegramβda oβtish
ΠΠ΄ΠΌΠΈΠ½, ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ, ΡΠ΅ΠΊΠ»Π°ΠΌΠ°: @seniorFrontPromo, @maria_seniorfront ΠΡΠΏΠΈΡΡ ΡΠ΅ΠΊΠ»Π°ΠΌΡ: https://telega.in/c/sWebDev
Ko'proq ko'rsatish7 380
Obunachilar
-124 soatlar
-247 kun
-8830 kun
Postlar arxiv
Carousel
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΠΊΠ°ΡΡΡΠ΅Π»Ρ Π½Π° Plain.js.
π @sWebDev
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ΅ΠΊΠ»Π°ΠΌΡ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π°Ρ
Ρ Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠ΅ΠΊΡΠΎΠΌ
ΠΠ΅ΡΡΠΎΠΌΠ°Π½Ρ-ΡΠ΅ΠΊΠ»Π°ΠΌΠ° ΡΠ΅ΠΏΠ΅ΡΡ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π°Ρ
β‘
Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠ΅ΠΊΡ Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ²Π»Π΅ΡΡ ΡΠ΅Π»Π΅Π²ΡΡ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ π°π
ΠΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ
#ΡΠ΅ΠΊΠ»Π°ΠΌΠ°
yandex.ru
Π ΡΠ΅ΠΊΠ»Π°ΠΌΠΎΠ΄Π°ΡΠ΅Π»Π΅
Bottleneck
Bottleneck β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ Π² Node.js. ΠΠ½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ΅ΡΡΡΡΡ.
π @sWebDev
Π‘ΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡ ΠΊΡΡΡΠΎΠ²?
β€οΈ β ΠΠ°.
π β ΠΠ΅Ρ.
π @sWebDev | #ΡΠΌΠΎΡ
Low Poly Experiment
ΠΠ½ΠΈΠΌΠ°ΡΠΈΡ ΠΊΠΎΠ»Π±Ρ Ρ ΠΎΠΊΡΠ°ΡΠΈΠ²Π°ΡΡΠΈΠΌΡΡ ΡΠ΅Π°Π³Π΅Π½ΡΠΎΠΌ Π½Π° GSAP.
π @sWebDev
ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
ViewContainerRef Π² Angular ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ Π²Π½Π΅Π΄ΡΡΡΡ Π² Π½ΠΈΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. Π‘Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ViewContainerRef ΡΠ΅ΡΠ΅Π· @ViewChild, Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ createComponent Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΡΠ°Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ:
@Component({
selector: 'app-dynamic-host',
template: `<ng-container #container></ng-container>`,
})
export class DynamicHostComponent {
@ViewChild('container', { read: ViewContainerRef, static: true })
container!: ViewContainerRef;
loadComponent() {
const componentRef = this.container.createComponent(DynamicComponent);
componentRef.instance.data = 'ΠΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅';
}
}
@Component({
selector: 'app-dynamic-component',
template: `<p>{{ data }}</p>`,
})
export class DynamicComponent {
data!: string;
}
π @sWebDevΠ‘ΠΈΡΡΠ°ΡΠΈΡ Π·Π½Π°ΠΊΠΎΠΌΠ°?
β€οΈ - ΠΠ΅Ρ.
π - ΠΡΠ΅ ΠΊΠ°ΠΊ.
π @sWebDev | #ΡΠΌΠΎΡ
ΠΠ°ΠΊΠΎΠΉ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡ Angular ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΎΠ±ΡΡΠΈΡ, ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΡΡΠΈΠ΅ Π²Π½Π΅ Π΅Π³ΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ?
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ Π²Π½Π΅ Π·ΠΎΠ½Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°
ΠΠ°ΠΊΠΎΠΉ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡ Angular ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΎΠ±ΡΡΠΈΡ, ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΡΡΠΈΠ΅ Π²Π½Π΅ Π΅Π³ΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ?
ΠΡΠ»ΠΈ Π·Π°Π±ΡΠ»ΠΈ, ΡΠΎ Π²Π΅ΡΠ½ΠΈΡΠ΅ΡΡ ΠΊ ΠΏΠΎΡΡΡ ΠΎΡ 05.08.2024.
π @sWebDev
Rete.js
Rete.js - ΡΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ
ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² ΡΡ
Π΅ΠΌ (node-based editors). ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π³Π΄Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡ
Π΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·Π»ΠΎΠ² ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. Π’Π°ΠΊΠΈΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
, ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°Ρ
ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ², ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΎΠ±Π»Π°ΡΡΡΡ
.
π @sWebDev
Storm
Π‘ΡΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΡΠΎΡΠΌ Π½Π° Anime.js.
π @sWebDev
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Angular Π‘ ΠΠΎΠΌΠΎΡΡΡ ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ HttpInterceptor
Π‘ΡΠ°ΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Angular-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΠ΅ΡΠ΅Π·
HttpInterceptor. Π Π½Π΅ΠΉ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ, ΡΡΠΎ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ
, ΠΈΠ·Π±Π΅Π³Π°Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ.
π @sWebDevResponsive Scroll-Driven Text Reveals
ΠΠ½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΊΡΠΎΠ»Π» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ GSAP.
π @sWebDev
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅, ΡΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅ΡΡ: ΠΊΠ΅ΠΉΡ Flocktory ΠΈ PREMIER
ΠΡΠΈΠ²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±Π»ΠΎΠ³Π΅ΡΠΎΠ² β ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±, Π½ΠΎ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΠΌΠΈΠ½ΡΡΡ. ΠΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΈΠ½ΡΠ»ΡΠ΅Π½ΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Ρ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΡΡΡΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π· β Π° Π·Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ ΠΏΠΎ Π½ΠΈΠΌ ΡΠΎΠ±ΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π»ΠΈΠ΄Π° Π² ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΡΡ
Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠ°.
Π‘ΡΡΠΈΠΌΠΈΠ½Π³ΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ PREMIER ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΈΠ²Π»Π΅ΡΡ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ β ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠ» ΡΠ²ΠΎΠΉ ΠΎΡΡΠ΅Ρ Β«45 Π΄Π½Π΅ΠΉ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡΒ» Π½Π° Π²ΠΈΡΡΠΈΠ½Π΅ ΠΏΠΎΠ΄Π°ΡΠΊΠΎΠ² Exchange ΠΎΠΌΠ½ΠΈΠΊΠ°Π½Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³Π° Flocktory. ΠΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅, ΡΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅ΡΡ β ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π² ΡΡΠ°ΡΡΠ΅.
Π£Π·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅
#ΡΠ΅ΠΊΠ»Π°ΠΌΠ°
flocktory.com
Π ΡΠ΅ΠΊΠ»Π°ΠΌΠΎΠ΄Π°ΡΠ΅Π»Π΅
Macy.js
Macy.js - ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΠΎΠΊ (grid layout) Π² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
. ΠΠ½Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΡ
ΡΠ΅ΡΠΎΠΊ, ΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π³Π°Π»Π΅ΡΠ΅ΠΉ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ½ΡΡ
ΡΠ°ΠΉΡΠΎΠ².
π @sWebDev
COLORON GAME
ΠΠ³ΡΠ° Π½Π° ΡΠ΅Π°ΠΊΡΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GSAP, ES6 ΠΈ Flexbox.
π @sWebDev
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² Angular
ComponentFactoryResolver Π² Angular ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ°ΡΡΡΡ Π² Ρ
ΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Ρ ComponentFactoryResolver:
import { Component, ViewChild, ViewContainerRef, ComponentFactoryResolver } from '@angular/core';
import { DynamicComponent } from './dynamic.component';
@Component({
selector: 'app-root',
template: `<div #container></div>
<button (click)="loadComponent()">Load Component</button>`,
})
export class AppComponent {
@ViewChild('container', { read: ViewContainerRef, static: true }) container: ViewContainerRef;
constructor(private componentFactoryResolver: ComponentFactoryResolver) {}
loadComponent() {
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DynamicComponent);
this.container.clear();
this.container.createComponent(componentFactory);
}
}
π @sWebDevΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ΅ΠΊΠ»Π°ΠΌΡ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π°Ρ
Ρ Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠ΅ΠΊΡΠΎΠΌ
ΠΠ΅ΡΡΠΎΠΌΠ°Π½Ρ-ΡΠ΅ΠΊΠ»Π°ΠΌΠ° ΡΠ΅ΠΏΠ΅ΡΡ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π°Ρ
β‘
Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠ΅ΠΊΡ Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ²Π»Π΅ΡΡ ΡΠ΅Π»Π΅Π²ΡΡ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ π°π
ΠΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ
#ΡΠ΅ΠΊΠ»Π°ΠΌΠ°
yandex.ru
Π ΡΠ΅ΠΊΠ»Π°ΠΌΠΎΠ΄Π°ΡΠ΅Π»Π΅
ΠΡΠ±ΠΈΡΠ΅ Π΄ΠΆΡΠ½ΠΎΠ²?
β€οΈ - ΠΠ°.
π - ΠΠ΅Ρ.
π€ - Π― Π΄ΠΆΡΠ½.
π @sWebDev | #ΡΠΌΠΎΡ
