Web Components என்பது மீண்டும் பயன்படுத்தக்கூடிய, மூடிய தனிப்பட்ட HTML உறுப்புகளை உருவாக்குவதற்கான பூர்வீக உலாவி API களின் தொகுப்பு — கাட்டமைப்பு-நிரபேक்ষ மற்றும் தரநிலை-அடிப்படை. மூன்று தொழில்நுட்பங்கள் இணைகின்றன:
Web Components என்பது மீண்டும் பயன்படுத்தக்கூடிய, மூடிய தனிப்பட்ட HTML உறுப்புகளை உருவாக்குவதற்கான பூர்வீக உலாவி API களின் தொகுப்பு — கাட்டமைப்பு-நிரபேक்ষ மற்றும் தரநிலை-அடிப்படை. மூன்று தொழில்நுட்பங்கள் இணைகின்றன:
<template>, <slot>) — செயலற்ற, மீண்டும் பயன்படுத்தக்கூடிய குறிப்பு.class UserCard extends HTMLElement {
connectedCallback() { // lifecycle: runs when added to the page
const shadow = this.attachShadow({ mode: "open" }); // create shadow DOM
shadow.innerHTML = `
<style> h2 { color: blue; } </style>
<h2>${this.getAttribute("name")}</h2>
<slot></slot>
`;
}
}
customElements.define("user-card", UserCard); // name MUST contain a hyphen
<user-card name="Ann">Extra content goes in the slot</user-card>
நிழல் மூலத்திற்குள் உள்ள உள்ளடக்கங்கள் நோக்கத்தடுத்தவை — பக்கத்தின் CSS உள்ளே வர முடியாது, மற்றும் உறுப்பின் CSS வெளிப்புறமாக கசிந்துவிட முடியாது. இது குறிப்பியல் CSS சிக்கலைப் பூர்வீகமாக தீர்க்கிறது:
/* page CSS */ h2 { color: red; } /* does NOT affect the <h2> inside user-card */
connectedCallback() // added to DOM
disconnectedCallback() // removed from DOM (cleanup)
attributeChangedCallback(name, old, val) // an observed attribute changed
static get observedAttributes() { return ["name"]; }
Web Components உங்களை மீண்டும் பயன்படுத்தக்கூடிய விட்ஜெட்களை உருவாக்க அனுமதிக்கிறது, அவை எந்த கட்டமைப்பிலும் (அல்லது எதுவுமே இல்லாமல்) சரியான உள்ளடக்கம் / DOM மூடுவு உடன் செயல்படுகின்றன — வடிவ அமைப்புகள் மற்றும் மைக்ரோ-முன்முடிவுகளுக்கு இலக்கு, வெவ்வேறு ஸ்டாக்குகளைப் பயன்படுத்தும் குழுக்களுக்கு பகிரப்படுகிறது।
এটি Shoelace போன்ற நூலகங்கள் கட்டமைப்பு-நிரபேக்ষ உறுப்புகளை கப்பல் செய்ய செய்வது.
வர்த்தக-ஆஃபுகள் (வாய்மொழி API, SSR/உள்ளடக்கம் சிக்கலான) பயன்பாடு உபயোகிப்பாளர்கள் இன்னும் பெரும்பாலும் React/Vue விரும்பினாலும், தளத்தின் பழங்கள் சக்திশாலி மற்றும் தரநிலை-அடிப்படை ஆகும்.