import TestClass from './TestClass'
Wie verwandle ich einen String in einen Klassennamen (ohne ihn im Fenster zu definieren)?
Wie kann ich TestClass
in dieser Datei die Zeichenfolge 'TestClass'
gegeben verweisen?
eval('TestClass')
funktioniert nicht, weil TestClass is not defined
.
Jedoch, wenn ich let Test = TestClass
, und dann eval('Test')
mache, gibt es mir den Konstruktor für TestClass
zurück, wie gewünscht.
Warum funktioniert eval('TestClass')
nicht, wenn eval('Test')
funktioniert?
Kontext: Da viele Elemente wie <div data-class="TestClass"></div>
, ich möchte eine generische Funktion erstellen, die die entsprechenden in sie reagieren Komponenten macht. Diese Komponentenklassen werden vor Ausführung dieser Funktion in die Datei importiert.
Hinweis: Verwenden Sie Brunch (ähnlich wie Webpack) als Build-System.
Was ist Ihr Paketsystem? Webpack? Browserifizieren? –
Sie sollten Ihre Lösung besser überdenken. Der springende Punkt des neuen Modulsystems ist, dass es statisch analysiert werden kann. Da Sie nicht dynamisch importieren können, ist es nicht sinnvoll, dynamisch zu instanziieren. – zerkms
hilft Ihnen [MDN Dokumentation] (https://developer.mozilla.org/en/docs/web/javascript/reference/statements/import) was Sie erreichen können und was nicht? –