Aspnetcore: [Blazor] Manipulation directe du DOM avec C#

Créé le 22 janv. 2019  ·  3Commentaires  ·  Source: dotnet/aspnetcore

Votre demande de fonctionnalité est liée à un problème ? Décrivez s'il vous plait.

Sera-t-il possible de manipuler directement le DOM à partir du code C# sans invoquer de fonctions javascript ?

J'ai pensé à des bases comme ça

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...");
}

Est-ce même réalisable ?

area-blazor

Commentaire le plus utile

Je pense que ce sujet devrait être rouvert. Les composants Razor devraient avoir cette capacité, même si cela est fait avec l'interopérabilité JS sous le capot. ElementRef doit être étendu pour prendre en charge la plupart des fonctions JS de base.

Tous les 3 commentaires

La manipulation DOM n'est actuellement pas prise en charge par l'assemblage Web (https://github.com/WebAssembly/proposals/issues/16 , https://github.com/WebAssembly/design/blob/master/Web.md), elle a donc gagné ne sera bientôt pas pris en charge par mono wasm. Vous ne pouvez le faire qu'en utilisant l'état actuel de Blazor : composant personnalisé et interopérabilité JS.

Je pense que ce sujet devrait être rouvert. Les composants Razor devraient avoir cette capacité, même si cela est fait avec l'interopérabilité JS sous le capot. ElementRef doit être étendu pour prendre en charge la plupart des fonctions JS de base.

L'accès direct au DOM sera la raison pour laquelle j'essayerai Blazor.
Ceci est obligatoire pour la percée de Blazor.

Cette page vous a été utile?
0 / 5 - 0 notes