Pregunta

La respuesta a la pregunta Sheets de estilo en cascada Use "ID" o "Clase" dice por ID's

Ponga una identificación en un elemento si "es el ..." (por ejemplo, navegación)

y otro comentario:

Debido a estas identificaciones solo se puede usar una vez (en la página), pero los elementos pueden clasificarse varias veces. También un elemento solo puede tener un identificador, pero varias clasificaciones. Sin embargo los elementos pueden ser identificados y clasificados.

Con Sombra DOM, ¿se puede usar la pieza de IDS una vez (en la página) sigue sostener? Por ejemplo, una forma sencilla de agarrar elementos en el componente es dar a cada ID exclusivo al componente y consultarlas:

en html:

<input id="amount" placeholder="Amount" on-change="{{recalc}}"></input>
<input id="term-years" placeholder="Term (yrs) e.g. 30" on-change="{{recalc}}"></input>
<input id="rate" placeholder="Interest Rate" on-change="{{recalc}}"></input>

en el código DART:

termYearsElm = shadowRoot.querySelector('#term-years');
amountElm = shadowRoot.querySelector('#amount');
rateElm = shadowRoot.querySelector('#rate');

Al jugar con esto, múltiples instancias del componente no entran en conflicto. ¿Este enfoque es seguro o una mala idea? Si es seguro, haga que las reglas para las ID han cambiado?

¿Fue útil?

Solución

Sí, es perfectamente legítimo de usar una ID en un elemento de un componente siempre que sea 1) exclusivo de ese componente, y 2) el componente tiene una sombra.La Sombría encapsula sus componentes entre sí.Por lo tanto, puede tener un componente con identificación rate y se usa solo una vez dentro de ese componente.Incluso si usa ese componente varias veces dentro de la misma página, los ID están encapsulados entre sí.

Solo un FYI rápido, también puede usar el $[] Accesorio para una forma abreviada.Código DART:

termYearsElm = $['term-years'];
amountElm = $['amount'];
rateElm = $['rate'];

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top