Agregue (entrada) a la etiqueta html dinámicamente en TypeScript

David

Tengo un HTML que se genera dinámicamente, no puedo modificarlo directamente.

En este html hay una <input class="MyInputClass">clase con especificada (sin id) y muchos otros atributos. Me gustaría manejar esta entrada (es texto) para que haga algo (digamos: se escribe a sí mismo en la consola) cuando se escribe algo en esta entrada.

Si tuviera acceso a esto en html, lo haría así:

<input type="text" class="form-control (input)="onSearchChange($event.target.value)">

public onSearchChange(searchValue : string ) {
    console.log(searchValue);
}

Fuente: evento de cambio de Angular 2 en cada pulsación de tecla

¿Es posible inyectar tal manejador?

usuario4676340

No, no puedes.

Cuando escribes

<input type="text" (input)="doSomething()" />

En realidad no lo dices

Quiero que esta entrada haga algo en el evento de entrada.

Pero en realidad dices

Quiero que Angular cree un controlador de eventos que haga algo en el evento de entrada.

Esto significa que el HTML generado dinámicamente no tendrá la capacidad de tener ninguna característica angular.

PERO , lo que puede hacer es en su componente, en la ngOnInitfunción, crear funciones de ventana, que destruirá en su ngOnDestroyfunción.

Algo como esto

ngOnInit() {
  window['onXXXInput'] = (value) => {
    /* do something */
  }
}

ngOnDestroy() {
  delete(window['onXXXInput']);
}

Ahora en su HTML generado dinámicamente; simplemente puedes hacer

<input type="text" oninput="window.onXXXInput(this.value)" />

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Agregue dinámicamente <span> en div, configure cada etiqueta de span a la misma altura

Agregue dinámicamente el atributo de datos a la etiqueta Img

Agregue dinámicamente la entrada del usuario con simple_form en rieles

Agregue atributos dinámicamente en la entrada de procesamiento de React

Obtenga dinámicamente el valor de la etiqueta de entrada onkeypress en jquery

Obtenga dinámicamente el valor de la etiqueta de entrada onkeypress en jquery

Agregue campos de formulario dinámicamente cuando se selecciona la opción en la etiqueta de selección

Agregue dinámicamente el valor del par de claves a la variable $ scope y vincúlelos con la etiqueta y la entrada

Agregue dinámicamente elementos de la interfaz de usuario y recopile su entrada en un marco de datos en brillante

Rellenar dinámicamente la entrada html

Agregue y ejecute la etiqueta xml en el archivo html

Agregue el atributo dir rtl a la etiqueta html en vuejs

Agregue contenido dinámicamente a la página HTML

agregue elementos en la matriz dinámicamente usando xslt

Agregue dinámicamente tipos a la interfaz en mecanografiado

Agregue argumentos dinámicamente a la función en javascript

Agregue texto dinámicamente a la plantilla docusign en C #

Agregue una fila a la tabla existente dinámicamente en ReactJS

Agregue dinámicamente una etiqueta span a la primera palabra de una cadena

Cómo agregar v-model a la entrada html agregada dinámicamente en el componente

¿Cómo puedo cargar dinámicamente la ruta del archivo en la etiqueta de origen html5?

Angular Establecer el cursor de entrada en la siguiente entrada, PS: la siguiente etiqueta de entrada se agregará dinámicamente en la tecla Ingrese la entrada anterior, haga clic

Agregue la etiqueta en Highcharts Gant cuadrado

Frasco: agregue campos de entrada de usuario dinámicamente para llamar a la función

Agregue dinámicamente la entrada donde se hizo clic con el mouse

C # Verifique la entrada en richtextbox creado dinámicamente

Agregue la etiqueta HTML al valor almacenado en la variable php no como eco

No puedo agregar una etiqueta de entrada en la etiqueta td cuando hago clic en la etiqueta td (javascript + html)

HTML: agregue elementos dinámicamente usando JS

TOP Lista

CalienteEtiquetas

Archivo