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?
davy.ai
Para corregir el problema de obtener el error “Identificador esperado” al usar
this.[name]
, puedes modificar el métodotest
para usar la notación de corchetes en lugar de la notación de puntos. Aquí tienes cómo puedes actualizar el código:Con esta modificación, el método
test
buscará la propiedadname
en la matrizdata
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.