یک وبکامپوننت ساده با استفاده از Web Components بسازید که یک کارت اطلاعات نمایش دهد و مقادیر title، image و description را از attributes دریافت کند.
1.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:06 0.0
برای حل: یک کلاس جاوااسکریپت ایجاد کنید که از HTMLElement ارثبری کند، در connectedCallback یک shadow DOM بسته ایجاد و از یا innerHTML برای ساختار و استایل کارت استفاده کنید؛ سپس کلاس را با customElements.define ثبت کنید. برای خواندن و بروزرسانی مقادیر، observedAttributes و attributeChangedCallback را پیادهسازی کنید تا تغییرات attributes به DOM داخل شادو منعکس شوند. نکات: از encapsulation شادو برای جلوگیری از تداخل CSS استفاده کنید و همواره مقادیر attribute را به property نگاشت دهید تا هم در HTML و هم در جاوااسکریپت قابل تغییر باشند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
استفاده از Shadow DOM باعث جلوگیری از تداخل CSS و فراهم آوردن محیطی محصور برای کارت میشود. با هر تغییر در attributes مانند title، image یا description، مقدار مربوطه را به DOM داخلی شادو بازتاب دهید و برای سهولت استفاده، مقادیر را به propertyها نگاشت کنید. در connectedCallback ساختار کارت را با innerHTML یا قالب template بسازید و استایلهای لازم را داخل shadowRoot تعریف کنید. در disconnectedCallback منابع را آزاد کنید و listeners را پاکسازی کنید و از observedAttributes برای پیگیری ['title','image','description'] استفاده کنید تا تغییرات بهصورت روان به DOM داخلی منعکس شوند.
گزارش