Elementos angulares - elemento.createshadowrowroot desaprobación -- javascript campo con angular campo con deprecation-warning campo con angular-elements camp Relacionados El problema

Angular elements - Element.createShadowRoot deprecation


2
vote

problema

Español

Estoy probando elementos de Anuglar para crear algunos componentes web y está funcionando de manera excelente. De todos modos estoy recibiendo esta advertencia en la consola:

[deprecation] elemento.createshadowroot está en desuso y será eliminado en M73, alrededor de marzo de 2019. Por favor use element.attachshadow en lugar de. Consulte https://www.chromestatus.com/features/4507242028072960 Para más detalles.

archivo relacionado es la plataforma-navegador.js: 1182. ¿Es algo de lo que debería ser consciente? ¿Cómo puedo arreglarlo? ¿Debo buscar una forma alternativa de crear mis componentes web?

Original en ingles

I'm testing Anuglar Elements to create some web components and is working great. Anyways I'm getting this warning in console:

[Deprecation] Element.createShadowRoot is deprecated and will be removed in M73, around March 2019. Please use Element.attachShadow instead. See https://www.chromestatus.com/features/4507242028072960 for more details.

Related file is platform-browser.js:1182. Is something I should be aware of? How can i fix it? Should I search an alternative way to create my web components?

           

Lista de respuestas

0
 
vote

Según MDN Web Docs, esta función se eliminará completamente. En cualquier caso, no es compatible con la mayoría de los navegadores web:

no estándar

Esta característica no es estándar y no está en un estándar pista. No lo use en los sitios de producción que enfrentan la web: no lo hará Trabajo para cada usuario. También puede haber grandes incompatibilidades entre Las implementaciones y el comportamiento pueden cambiar en el futuro.

desaprobado

Esta característica ya no se recomienda. Aunque algunos navegadores podría seguir soportando, puede haber sido eliminado de la Los estándares web relevantes, pueden estar en proceso de ser eliminado, o pueden Solo se mantiene con fines de compatibilidad. Evite usarlo, y actualizar. código existente si es posible; Ver la tabla de compatibilidad en la parte inferior. De esta página para guiar su decisión. Tenga en cuenta que esta característica puede Deja de trabajar en cualquier momento.

Si está usando angular, sugiero usarlo cargador de componentes dinámico < / p>

 

According to MDN Web docs this feature is going to be removed completely. In any case it's not supported by most of the web browsers:

Non-standard

This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

Deprecated

This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

If you're using Angular i'd suggest using Dynamic Component Loader

 
 
0
 
vote

Como dice el error que tendrá que usar

element.attachshadow en su lugar.

Ejemplo:

  class SomeElement extends HTMLElement {     constructor() {         super();         this.attachShadow({mode: 'open'});     }      connectedCallback() {         this.shadowRoot.innerHTML = 'Hello World!';         console.log(this.shadowRoot);     } }  customElements.define('some-element', SomeElement);   

El modo define si puede acceder a la raíz de la sombra a través de JavaScript.
Para {mode: 'closed'} El código en el connectedCallback no funciona desde this.shaodwRoot6 devuelve null .

 

As the error states you will have to use

Element.attachShadow instead.

Example:

class SomeElement extends HTMLElement {     constructor() {         super();         this.attachShadow({mode: 'open'});     }      connectedCallback() {         this.shadowRoot.innerHTML = 'Hello World!';         console.log(this.shadowRoot);     } }  customElements.define('some-element', SomeElement); 

The mode defines if you can access the shadow root through JavaScript.
For {mode: 'closed'} the code in the connectedCallback won't work since this.shaodwRoot returns null.

 
 

Relacionados problema

7  ¿Puedo tener una biblioteca angular que emite elementos angulares en un solo archivo JS?  ( Can i have angular library that emits angular elements in single js file ) 
Estoy empezando a entrar en los 6 bits angulares, y estoy muy interesado en los elementos angulares, así como los nuevos proyectos de la biblioteca. Tengo un ...

4  ¿Por qué los elementos angulares son un error de tragas?  ( Why angular elements are swallowing error ) 
Tengo el elemento angular más simple posible dentro de un proyecto angular. Tiro el error en el componente que pertenece al elemento angular de la siguiente m...

1  Los elementos angulares de 7.3.5 en IE 11 da: El objeto no admite la propiedad o el método 'desde' ... en Firefox: Página en blanco  ( Angular 7 3 5 elements on ie 11 gives object doesnt support property or method ) 
escenario Creado 2 elementos angulares diferentes (a través de 2 proyectos separados) primero one es exactamente Según este tutorial , un cambio q...

1  Múltiples componentes angulares vinculados a elementos angulares  ( Multiple linked angular components to angular elements ) 
Tengo alrededor de 15 componentes angulares en la biblioteca angular. Lamentablemente, no puedo usar esa biblioteca en aplicación no angular. Así que decidí c...

0  Cómo pasar el objeto en el elemento personalizado angular  ( How to pass object in angular custom element ) 
Quiero pasar el objeto al elemento personalizado en el archivo HTML. Intenté leer algunos recursos no encontró la solución para esto. archivo de componentes...

0  ¿Cómo incluido la aplicación angular en el archivo HTML externo?  ( How do i include angular app in external html file ) 
Estoy usando angular 7 y quiero insertar la aplicación angular como un widget en otro archivo HTML externo. Sé que hay elementos angulares para crear un ele...

0  Use la biblioteca angular en la aplicación HTML simple por elementos angulares  ( Use angular library in plain html application by angular elements ) 
Es posible simplemente convertir la biblioteca angular con 15 componentes en elementos y amplificadores angulares; Importe el archivo JS construido desde aquí...

0  Compartiendo bibliotecas entre elementos de la aplicación micro angular  ( Sharing libraries among angular micro app elements ) 
Tengo un elemento de aplicación micro y una aplicación de concha que funciona bien normalmente. Sin embargo, estoy tratando de construir la micro aplicación s...

6  Componente web integrado utiliza una base incorrecta-href en angular 6  ( Integrated web component uses wrong base href in angular 6 ) 
Acabo de crear mi primer componente web usando angular 6. Todo funcionó bien, hasta que intenté integrar el componente web en una aplicación existente: apli...

-1  Cómo usar un elemento personalizado angular a otra aplicación angular  ( How to use an angular custom element to another angular application ) 
He creado exitosamente un elemento personalizado angular llamado en un proyecto angular y quiero usar este elemento personalizado en otro proyecto angular Int...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos