Ich migriere eine Anwendung von Angular1 nach Angular2, in der ich die SVG.js-Bibliothek verwendet habe, um ein SVG zu zeichnen. Einige Elemente des SVG enthielten "ng-click" -Direktiven, mit denen ich die SVG-Bibliothek zum letzten SVG drucken ließ.Festlegen von Angular2-Attributen im HTML-Knoten
Das hat in Angular1 funktioniert, aber nun heißt die Anweisung "(klick)" und alles bricht. Ich verfolgte die SVG Quellen und festgestellt, dass die folgenden Aufruf
this.node.setAttribute(attr, value.toString())
Ergebnisse in der folgenden Fehlermeldung:
VM22161:1 Uncaught DOMException: Failed to execute 'setAttribute' on 'Element': '(click)' is not a valid attribute name.(…)
Irgendwelche Ideen, dieses Problem zu lösen? Das Patchen der SVG-Quelle wäre für mich in Ordnung, wenn es keinen anderen Weg gäbe.
Können Sie bitte mehr Code hinzufügen. Schwer zu sehen, was mit diesen kleinen Fragmenten los ist. –
Es tut mir leid. Ich schätze alles läuft darauf hinaus, dass die setAttribute() - Funktion es nun erlaubt, Attributnamen mit einer Klammer zu beginnen. Wenn ich recht habe, wird das Knotenobjekt von der API der Browser-Engine bereitgestellt, was es ziemlich kompliziert macht. – Matt
Ich habe eine andere Lösung für dieses Problem gefunden. Die Bindesyntax von Angular2 ermöglicht es, "on-click" statt "(click)" zu verwenden. – Matt