Փոփոխությունների հայտնաբերման անկյունային?

Փոփոխությունների հայտնաբերման անկյունային?
Փոփոխությունների հայտնաբերման անկյունային?
Anonim

Փոփոխությունների հայտնաբերում նշանակում է թարմացնել DOM-ը, երբ տվյալները փոխվեն: Angular-ը տրամադրում է փոփոխության հայտնաբերման երկու ռազմավարություն: Իր լռելյայն ռազմավարության մեջ, երբ որևէ տվյալ փոփոխվում կամ փոխվում է, Angular-ը կաշխատի փոփոխության դետեկտորը՝ DOM-ը թարմացնելու համար:

Ինչպե՞ս է Angular-ը հայտնաբերում փոփոխության հայտնաբերումը:

Փոփոխությունների դետեկտորը ձեռքով գործարկելու համար՝

  1. Inject ChangeDetectorRef ծառայությունը բաղադրիչում:
  2. Օգտագործեք markForCheck բաժանորդագրության մեթոդում՝ հրահանգելու Angular-ին ստուգել բաղադրիչը հաջորդ անգամ, երբ փոփոխության դետեկտորները գործարկվեն:
  3. ngOnDestroy կյանքի ցիկլի կեռիկի վրա, ապաբաժանորդագրվեք դիտարկելիից:

Ի՞նչ է փոփոխությունների հայտնաբերման ցիկլը Angular-ում:

Փոփոխությունների հայտնաբերման ժամանակ Angular-ն անցնում է կապանքների վրայով, գնահատում է արտահայտությունները, համեմատում դրանք նախորդ արժեքների հետ և անհրաժեշտության դեպքում թարմացնում DOM-ը: Փոփոխությունների հայտնաբերման յուրաքանչյուր փուլից հետո Angular-ը ստուգում է կատարում՝ համոզվելու, որ բաղադրիչի վիճակը համաժամանակյա է օգտատիրոջ միջերեսի հետ:

Ի՞նչ է Angular onPush փոփոխության հայտնաբերումը:

OnPush ռազմավարությունը փոխում է Angular-ի փոփոխության հայտնաբերման վարքագիծը նույն կերպ, ինչ բաղադրիչի անջատումը: Փոփոխությունների հայտնաբերումն այլևս ինքնաբերաբար չի աշխատում յուրաքանչյուր բաղադրիչի համար: Angular-ի փոխարեն լսում է կոնկրետ փոփոխություններ և գործարկում է փոփոխության հայտնաբերումը միայն այդ բաղադրիչի ենթածառի վրա:

Ի՞նչ է փոփոխության հայտնաբերման ռազմավարությունը:

Փոփոխությունների հայտնաբերման հիմնական մեխանիզմը ն էկատարել ստուգումներ երկու վիճակների նկատմամբ, մեկը ներկայիս վիճակն է, մյուսը նոր վիճակն է: Եթե այս վիճակներից մեկը մյուսից տարբերվում է, ապա ինչ-որ բան փոխվել է, ինչը նշանակում է, որ մենք պետք է թարմացնենք (կամ վերարտադրենք) տեսքը:

Խորհուրդ ենք տալիս: