Cómo crear MooTools clase de un nombre de variable
-
02-10-2019 - |
Pregunta
Considere este código:
var Someclass = new Class();
var Anotherclass = new Class();
var classes = ['Someclass', 'Anotherclass'];
y quiero crear la clase mootools con un nombre dinámico. Por supuesto que puedo hacerlo por eval:
eval('var obj = new ' + classes[0] + '(params);');
pero yo no creo que es una buena solución. La forma de hacerlo de una manera "correcta"? Tal vez somethink como:
var obj = ObjectFactory(classes[0], params);
Solución
Utilice el soporte notación para referirse a la clase como una cadena.
var object = new window['SomeClass']();
pasarle parámetros tan regular.
var object = new window['SomeClass'](1, 2, "three");
En lugar de crear todas las clases a nivel mundial, usar un objeto de espacio de nombres de ellos.
var My = {
SomeClass: new Class(..),
OtherClass: new Class(..)
};
var object = new My['SomeClass']();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow