ל-Lightning Web Component (LWC) יש מחזור חיים משלו כדי להכניס את הרכיב/ים ל-DOM, לעבד אותו ולהסיר את הרכיב/ים מה-DOM. ה-connectedCallback() (בשלב ההרכבה) הוא אחת משיטות LifeCycle המופעלות כאשר הרכיב מוכנס ל-DOM. במדריך זה, נדון ב-connectioncallback() ובתרחישים השונים הכוללים שיטה זו עם דוגמאות.
- הקונסטרוקטור() היא השיטה הראשונה בהוק ה-Lifecycle שנקראת כאשר המופע 'Component' נוצר. מאפייני הרכיב בשלב זה לא יהיו מוכנים. אם אתה רוצה לגשת לרכיב המארח, עלינו להשתמש ב-'this.template'. מכיוון שרכיבי הצאצא בשלב זה לא יהיו קיימים, איננו יכולים לגשת גם לרכיבי הצאצא. Super() משמש בשיטה זו.
- ה-connectedcallback() היא השיטה השנייה (שלב 2) הנקראת כאשר אלמנט מוכנס ל-DOM. במקרה זה, הקרס זורם מהורה לילד. מאפייני הרכיב בשלב זה לא יהיו מוכנים. אם אתה רוצה לגשת לרכיב המארח, עלינו להשתמש ב-'this.template'. מכיוון שרכיבי הצאצא בשלב זה לא יהיו קיימים, איננו יכולים לגשת גם לרכיבי הצאצא.
- לְדַקלֵם (): השלב החיצוני הוא עיבוד. רכיב האב מעובד ואז רכיב הצאצא יעבד אם הוא קיים. לאחר רינדור האב, הוא עובר לרכיב הילד (קונסטרוקטור, connectedcallback, render) ועוקב אחר אותם השלבים כמו האב.
- renderedCallback (): כאשר העיבוד של הרכיב הושלם ואתה רוצה לבצע כל פעולה לאחר מכן, שיטה זו נקראת.
- מנותק התקשרות חוזרת (): בשלב זה, האלמנט מוסר מה-DOM (מנוגד ל-connectedcallback()).
- ה- errorCallback() נקרא כאשר השגיאה מתרחשת ב-LifeCycle.
Connectedcallback() מבנה
שימוש ב-connectedcallback():
- הגדר משתנה והגדר ערך מאפיין.
- התקשר לאיפקס שבתוכו.
- צור ושלח את האירועים.
- ניתן לקרוא ל-UI API.
- שירות ניווט בתוכו.
יש לציין זאת בקובץ ה-JavaScript כמו הבא:
מחובר התקשרות חזרה ( ) {
// לעשות…
}
כל הדוגמאות משתמשות בקובץ 'meta.xml' זה. לא נפרט זאת בכל דוגמה. ניתן להוסיף את רכיבי ה-LWC לדף ההקלטה, לדף האפליקציה ולדף הבית שלך.
גִרְסָה = '1.0' ?>
<מטרות>
<יעד> lightning__RecordPage < / יעד>
<יעד> lightning__AppPage < / יעד>
<יעד> lightning__דף הבית < / יעד>
< / מטרות>
< / LightningComponentBundle>
דוגמה 1:
נדגים את ה-constructor() ואת שלב connectedcallback() כאשר הרכיב נטען בממשק המשתמש.
connectedCallBack.html
<תבנית><כרטיס ברק כותרת = 'התקשרות חזרה' >
< / ברק-כרטיס>
< / תבנית>
connectedCallBack.js
// שלב הרכבה - קונסטרוקטור()בַּנַאִי ( ) {
סוּפֶּר ( )
לְנַחֵם. עֵץ ( 'נקרא קונסטרוקטור' )
}
// שלב הרכבה - מחוברCallback()
מחובר התקשרות חזרה ( ) {
לְנַחֵם. עֵץ ( 'connectedCallback התקשר' )
}
זה נראה כמו הבא:
תְפוּקָה:
הוסף את הרכיב הזה לדף 'הקלט' של כל אובייקט.
בדוק את הדף (לחץ שמאל ובחר 'בדוק'). לאחר מכן, עבור לכרטיסייה 'קונסול'.
דוגמה 2:
בדוגמה זו, ניצור פרי עם מעצב רצועות ונקבע את ערך המאפיין ל-'Mango' בתוך שיטת connectedcallback(). זה מוצג בממשק המשתמש.
firstExample.html
<תבנית><כרטיס ברק כותרת = 'הגדרת מאפיינים' >
< div מעמד = 'slds-var-m-around_medium' >
< ב > שם הפרי: < / ב > {פרי}
< / div >
< / ברק-כרטיס>
< / תבנית>
firstExample.js
יְבוּא { LightningElement , מַסלוּל } מ 'מַזָל' ;יְצוּא בְּרִירַת מֶחדָל מעמד דוגמה ראשונה משתרע LightningElement {
@ לעקוב אחר פירות ;
מחובר התקשרות חזרה ( ) {
// הגדרת ערך המאפיין למנגו
זֶה . פרי = 'מנגו' ;
}
}
תְפוּקָה:
הוסף את הרכיב הזה לדף 'הקלט' של כל אובייקט. כאן אנו מוסיפים אותו לדף 'תיעוד חשבון'. תראה שהפרי הוא 'מנגו'.
דוגמה 3:
השתמש בקוד הקודם ושנה כמה הצהרות בקובץ 'js' ו- 'html'.
צור משתנה חדש שהוא 'מספר' עם 500 בקובץ 'js'. הגדר את הפרי ל-'גדול מ-500' אם המספר גדול מ-500. אחרת, הגדר את הפרי כ-'שווה ל-500'.
firstExample.html
<תבנית><כרטיס ברק כותרת = 'הגדרת מאפיינים' >
< div מעמד = 'slds-var-m-around_medium' >
< ב > עֲלוּת: < / ב > {פרי}
< / div >
< / ברק-כרטיס>
< / תבנית>
firstExample.js
@ לעקוב אחר פירות ;מחובר התקשרות חזרה ( ) {
לתת מספר = 500 ;
אם ( מספר > 500 ) {
זֶה . פרי = 'יותר מ-500' ;
}
אַחֵר {
זֶה . פרי = 'שווה ל-500' ;
}
}
תְפוּקָה:
המספר הוא 500. לכן, הפרי מחזיק בתוצאה כ'שווה ל-500'.
דוגמה 4:
בתרחיש זה, אנו מחזירים את רשומות החשבון (אובייקט חשבון) באמצעות שיטת connectedcallback() .
- ראשית, אנו כותבים מחלקה של Apex שמחזירה את רשימת 10 החשבונות הראשונים עם השדות Id, Name, Industry ודירוג
- לאחר מכן, אנו עוקבים אחר החשבונות ומחזירים אותם בשיטת connectedcallback() על ידי קריאה למתודה מהמחלקה Apex.
- בקובץ ה-HTML, אנו משתמשים בו עבור כל הנחיה המחזרת את החשבונות ומחזירה את השם והתעשייה.
AccountData.apxc
ציבורי עם שיתוף הכיתה AccountData {@AuraEnabled(cacheable=true)
רשימה סטטית ציבורית
List
החזר רשימה של חשבונות;
}
}
secondExample.html
<תבנית><כרטיס ברק כותרת = 'הצג רשימה של חשבונות' >
< div מעמד = 'slds-var-m-around_medium' >
= { חשבונות } >
<תבנית ל :כל אחד = { חשבונות } ל :פריט = 'account_rec' >
< ע מַפְתֵחַ = { account_rec. תְעוּדַת זֶהוּת } >< ב > חֶשְׁבּוֹן: < / ב > {account_rec.Name} < ב > תַעֲשִׂיָה: < / ב > {account_rec.Industry} < / ע >
< / תבנית>
< / תבנית>
< / div >
< / ברק-כרטיס>
< / תבנית>
secondExample.js
ייבא את returnAcc מה-Apex מעמד :יְבוּא returnAcc מ '@salesforce/apex/AccountData.returnAcc' ;
לִכתוֹב זֶה קוד בתוך 'js' מעמד :
@ לעקוב אחר חשבונות ;
@ שגיאת מעקב ;
מחובר התקשרות חזרה ( ) {
returnAcc ( )
// החזר את החשבונות
. לאחר מכן ( תוֹצָאָה => {
זֶה . חשבונות = תוֹצָאָה ;
זֶה . שְׁגִיאָה = לא מוגדר ;
} )
. לתפוס ( שְׁגִיאָה => {
זֶה . שְׁגִיאָה = שְׁגִיאָה ;
זֶה . חשבונות = לא מוגדר ;
} ) ;
}
תְפוּקָה:
10 רשומות החשבון הראשונות מוחזרות עם שם החשבון והתעשייה.
סיכום
כעת, אתה יכול להשתמש בשיטת connectedcallback() ברוב המקרים תוך כדי עבודה עם נתוני Apex ב-LWC. במדריך זה, דנו כיצד להגדיר את ערך המאפיין באמצעות connectcallback() וכללו בו את Apex. להבנה טובה יותר, הבאנו תחילה דוגמה שהראתה את השיטות constructor() ו-connectedcallback() . אתה צריך לבדוק את דף האינטרנט שלך ולהציג אותו במסוף.