es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Leer el nombre del componente Angular desde JSON y agregar ‘this’ al nombre.

Estoy tratando de obtener el nombre de un componente de un archivo JSON y, mediante un método, agregar 'this' a su nombre.

import { MyComponent } from './Mycomponent';

...

MyComponent = MyComponent;


data = [
    {
      "name": "MyComponent"
    }
  ];

El método:

test(name: any) {
    return this.[name];
}

Ejemplo de uso:

this.test('MyComponent');

La salida esperada es:

this.MyComponent

Cuando intento: this.[name]

Obtengo “Se esperaba un identificador”.

¿Cómo puedo solucionar esto?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para corregir el problema de obtener el error “Identificador esperado” al usar this.[name], puedes modificar el método test para usar la notación de corchetes en lugar de la notación de puntos. Aquí tienes cómo puedes actualizar el código:

    test(name: any) {
      return this[name];
    }
    
    // Ejemplo de uso:
    this.test('MyComponent');
    

    Con esta modificación, el método test buscará la propiedad name en la matriz data y devolverá el componente correspondiente de la instancia actual de la clase, utilizando la notación de corchetes para acceder a la propiedad dinámicamente.

    Además, no es necesario asignar MyComponent a sí mismo en la líneaMyComponent = MyComponent;, ya que esto no cumple ningún propósito en el fragmento de código que proporcionaste. Puedes eliminar esta línea de forma segura.

Comments are closed.