Ich lerne gerade TypeScript, aber ich weiß nicht, wie ich dieses Problem richtig lösen kann. Ich möchte ein Htmlelement als Argument für meine Styling Funktion wie diese gegeben, um Stil:Stil auf ein TypeScript Node-Element anwenden
function styleElement(unstyled: HTMLElement) {
const styled = unstyled.cloneNode(); // styleElement should be a pure function
styled.style = { opacity: 0 }; // TypeScript says: Property 'style' does not exist on type 'Node'.
return styled;
}
Ich habe die „Node“ Interface-Deklaration und der Stil-Eigenschaft überprüft fehlt. Soweit ich weiß, ist es in der W3C-Spezifikation beschrieben, dass der Knoten keine Stileigenschaft hat. Aber wie kann ich mein Problem mit dieser Einschränkung lösen?
Das Überschreiben der Stileigenschaft auf einem "HTMLElement" löst jedoch einen readonly Fehler aus, der auch seltsam ist.
Vielen Dank!
Sie nicht ein neues Objekt 'styled.style' zuweisen können. Es wird nicht funktionieren. 'style.style.opacity =" 0 "' ist wie es zugewiesen werden soll. – Saravana
Ja, ich stehe auch vor diesem Fehler. Muss ich jede Eigenschaft von Stil in einer individuellen Zuordnung zuweisen? –
@Ole Bläsing werfen Sie einen Blick auf Object.assign ... –