Lightning Web Component (LWC) има свой собствен жизнен цикъл за вмъкване на компонента/ите в DOM, изобразяването му и премахване на компонента/ите от DOM. ConnectedCallback() (във фазата на монтиране) е един от методите на LifeCycle, който се задейства, когато компонентът се вмъкне в DOM. В това ръководство ще обсъдим connectioncallback() и различните сценарии, които включват този метод с примери.
- Constructor() е първият метод в куката на жизнения цикъл, който се извиква, когато се създаде екземплярът „Component“. Свойствата на компонента в тази фаза няма да бъдат готови. Ако искате да получите достъп до хост елемента, трябва да използваме „this.template“. Тъй като дъщерните компоненти в тази фаза няма да съществуват, ние също нямаме достъп до дъщерните компоненти. В този метод се използва Super().
- Connectedcallback() е вторият метод (фаза 2), който се извиква, когато даден елемент е вмъкнат в DOM. В този случай куката преминава от родител към дете. Свойствата на компонента в тази фаза няма да бъдат готови. Ако искате да получите достъп до хост елемента, трябва да използваме „this.template“. Тъй като дъщерните компоненти в тази фаза няма да съществуват, ние също нямаме достъп до дъщерните компоненти.
- рендиране (): Външната фаза е изобразяване. Изобразява се родителският компонент и след това дъщерният компонент ще се изобразява, ако съществува. След рендиране на родителя, той отива към дъщерния компонент (конструктор, свързано обратно извикване, рендиране) и следва същите стъпки като родителя.
- renderedCallback (): Когато изобразяването на компонента приключи и искате да извършите някаква операция след това, този метод се извиква.
- disconnectedCallback (): В този етап елементът се премахва от DOM (противоположно наconnectedcallback()).
- ErrorCallback() се извиква, когато възникне грешка в LifeCycle.
Connectedcallback() Структура
Използване наconnectedcallback():
- Дефинирайте променлива и задайте стойност на свойството.
- Обадете се на Apex вътре в него.
- Създавайте и изпращайте събитията.
- UI API може да бъде извикан.
- Навигационна услуга вътре в него.
Тя трябва да бъде посочена в JavaScript файла, както следва:
свързан Обратно повикване ( ) {
// направи...
}
Всички примери използват този файл „meta.xml“. Няма да уточняваме това във всеки пример. Компонентите на LWC могат да се добавят към вашата страница със записи, страница с приложения и начална страница.
версия = '1,0' ?>
<изложено> вярно < / isExposed>
<цели>
<цел> lightning__RecordPage < / цел>
<цел> светкавица__AppPage < / цел>
<цел> светкавица__Начална страница < / цел>
< / цели>
< / LightningComponentBundle>
Пример 1:
Ще демонстрираме фазата constructor() иconnectedcallback(), когато компонентът е зареден в потребителския интерфейс.
connectedCallBack.html
<шаблон><светкавична карта заглавие = „Свързано обратно повикване“ >
< / светкавична карта>
< / шаблон>
connectedCallBack.js
// Фаза на монтаж - конструктор()конструктор ( ) {
супер ( )
конзола. дневник ( 'извикан конструктор' )
}
// Фаза на монтаж -connectedCallback()
свързан Обратно повикване ( ) {
конзола. дневник ( 'connectedCallback call' )
}
Изглежда така:
Изход:
Добавете този компонент към страницата „Запис“ на всеки обект.
Проверете страницата (щракнете вляво и изберете „Проверка“). След това отидете в раздела „Конзола“.
Пример 2:
В този пример ще създадем плод с декоратор на песни и ще зададем стойността на свойството на „Mango“ в методаconnectedcallback(). Това се показва в потребителския интерфейс.
firstExample.html
<шаблон><светкавична карта заглавие = „Задаване на свойства“ >
< див клас = 'slds-var-m-around_medium' >
< b > Име на плода: < / b > {плод}
< / див >
< / светкавична карта>
< / шаблон>
firstExample.js
импортиране { LightningElement , песен } от 'късмет' ;износ по подразбиране клас Първи Пример се простира LightningElement {
@ проследяване на плодове ;
свързан Обратно повикване ( ) {
// Задаване на стойността на свойството на Mango
това . плодове = 'манго' ;
}
}
Изход:
Добавете този компонент към страницата „Запис“ на всеки обект. Тук го добавяме към страницата „Запис на акаунта“. Ще видите, че плодът е „манго“.
Пример 3:
Използвайте предишния код и променете някои изрази във файла „js“ и „html“.
Създайте нова променлива, която е „число“ с 500 във файла „js“. Задайте плода на „по-голямо от 500“, ако числото е по-голямо от 500. В противен случай задайте плода като „равно на 500“.
firstExample.html
<шаблон><светкавична карта заглавие = „Задаване на свойства“ >
< див клас = 'slds-var-m-around_medium' >
< b > Цена: < / b > {плод}
< / див >
< / светкавична карта>
< / шаблон>
firstExample.js
@ проследяване на плодове ;свързан Обратно повикване ( ) {
нека номер = 500 ;
ако ( номер > 500 ) {
това . плодове = 'повече от 500' ;
}
друго {
това . плодове = 'равно на 500' ;
}
}
Изход:
Числото е 500. Така че плодът държи резултата като „равен на 500“.
Пример 4:
В този сценарий връщаме записите на акаунта (обект на акаунт), като използваме методаconnectedcallback().
- Първо пишем клас Apex, който връща списъка с първите 10 акаунта с полетата Id, Name, Industry и Rating
- След това проследяваме акаунтите и ги връщаме в методаconnectedcallback(), като извикваме метода от класа Apex.
- В HTML файла го използваме за всяка директива, която итерира акаунтите и връща името и индустрията.
AccountData.apxc
публичен с клас за споделяне AccountData {@AuraEnabled(cacheable=true)
публичен статичен списък
List
връщане на accountList;
}
}
secondExample.html
<шаблон><светкавична карта заглавие = „Показване на списък с акаунти“ >
< див клас = 'slds-var-m-around_medium' >
= { сметки } >
<шаблон за : всеки = { сметки } за :вещ = 'account_rec' >
< стр ключ = { account_rec. Документ за самоличност } >< b > Сметка: < / b > {account_rec.Name} < b > Индустрия: < / b > {account_rec.Industry} < / стр >
< / шаблон>
< / шаблон>
< / див >
< / светкавична карта>
< / шаблон>
secondExample.js
Импортирайте returnAcc от Apex клас :импортиране returnAcc от '@salesforce/apex/AccountData.returnAcc' ;
Пишете това код в „js“ клас :
@ проследяване на сметки ;
@ грешка в проследяването ;
свързан Обратно повикване ( ) {
връщанеAcc ( )
// Връщане на сметките
. тогава ( резултат => {
това . сметки = резултат ;
това . грешка = недефиниран ;
} )
. улов ( грешка => {
това . грешка = грешка ;
това . сметки = недефиниран ;
} ) ;
}
Изход:
Първите 10 записа на акаунт се връщат с името на акаунта и отрасъла.
Заключение
Сега можете да използвате методаconnectedcallback() в повечето случаи, докато работите с Apex данни в LWC. В това ръководство обсъдихме как да зададем стойността на свойството с помощта наconnectedcallback() и включихме Apex в него. За по-добро разбиране първо предоставихме пример, който показва методите constructor() иconnectedcallback(). Трябва да прегледате вашата уеб страница и да я видите в конзолата.