En JavaScript, nous pouvons utiliser l'appel suivant pour écrire une sortie de débogage à la console du navigateur:
console.log("My debug output.");
Sortie dans Google Chrome:
Comment puis-je enregistrer "ma sortie de débogage" dans mon composant à la console du navigateur via Blazor Webassembly?
<button @onclick="ClickEvent">OK</button>
@code {
private void ClickEvent()
{
// console.log("My debug output.");
}
}
Je fais habituellement quelque chose comme ça:
Console.WriteLine("My debug output.");
Si c'est une application de serveur Blazor, je vois le message dans la fenêtre d'entrée, s'il s'agit du blazor Webassembly, je vois le message dans la console du navigateur
J'espère que cela t'aides...
Vous pouvez utiliser un ILogger<T>
Cela vous donne la possibilité d'écrire un avertissement ou une erreur dans la console:
@using using Microsoft.Extensions.Logging
@inject ILogger<MyComponent> _logger
...
@code {
protected override void OnInitialized()
{
_logger.LogWarning("warning");
_logger.LogError("error");
}
}
Si vous utilisez le serveur Blazor (non Webassembly), vous ne pouvez écrire que sur la console du navigateur à l'aide de JSinterop. J'ai écrit une classe wrapper comme ceci:
public class JsConsole
{
private readonly IJSRuntime JsRuntime;
public JsConsole(IJSRuntime jSRuntime)
{
this.JsRuntime = jSRuntime;
}
public async Task LogAsync(string message)
{
await this.JsRuntime.InvokeVoidAsync("console.log", message);
}
}
Ensuite, dans votre page, vous pouvez injecter le JSConsole et l'utiliser:
await this.JsConsole.Log(message); //Will show in the browser console.
Juste creille une variable et le changer si tes choses fonctionnent .. Par exemple
<p>@message</p>
<button onclck=@Send></button>
@code {
private string message = "Don`t work";
public void Send()
{
message = "working"
}
}
J'espère que ça vous aide ...