Wird es möglich sein, DOM direkt aus C#-Code zu manipulieren, ohne Javascript-Funktionen aufzurufen?
Ich habe über solche Basics nachgedacht
var elem = document.getElementById("123");
elem.AddOrUpdateStyle("background-color", "red");
elem.AddOrUpdateStyle("height", "150px");
elem.Remove("height");
var boxes = document.getElementsByClassName("box");
foreach (var box in boxes)
{
if (box.Classes.Contains("hidden"))
{
box.AddOrUpdateStyle("display", "none");
continue;
}
box.Value = "";
box.SetAttribute("placeholder", "Type here...");
}
Ist es überhaupt erreichbar?
Die DOM-Manipulation wird derzeit nicht von der Webassembly unterstützt (https://github.com/WebAssembly/proposals/issues/16 , https://github.com/WebAssembly/design/blob/master/Web.md), also hat sie gewonnen werde bald nicht von mono wasm unterstützt werden. Sie können dies nur mit dem aktuellen Status von Blazor tun: benutzerdefinierte Komponente und JS-Interop.
Ich denke, dieses Thema sollte wieder aufgegriffen werden. Razor-Komponenten sollten diese Fähigkeit haben, auch wenn sie mit JS-Interop unter der Haube gemacht werden. ElementRef sollte erweitert werden, um die meisten grundlegenden JS-Funktionen zu unterstützen.
Der direkte DOM-Zugang wird für mich der Grund sein, Blazor auszuprobieren.
Dies ist für den Durchbruch von Blazor zwingend erforderlich.
Hilfreichster Kommentar
Ich denke, dieses Thema sollte wieder aufgegriffen werden. Razor-Komponenten sollten diese Fähigkeit haben, auch wenn sie mit JS-Interop unter der Haube gemacht werden. ElementRef sollte erweitert werden, um die meisten grundlegenden JS-Funktionen zu unterstützen.