Auto iniettare javascript nell'applicazione blazer

asp.net-core blazor c#

Domanda

Sto sviluppando una libreria di estensioni Blazor.

Una cosa in questa libreria sarebbe il riutilizzo del metodo javascript alert () . So come fare questo, questo comporta l'aggiunta di questo in una pagina .cshtml:

<script>
  Blazor.registerFunction('Alert', (message) => {
      alert(message);
  });
</script>

e questo nel mio codice:

<script>
  Blazor.registerFunction('Alert', (message) => {
      alert(message);
  });
</script>

Vorrei che la parte javascript venisse in qualche modo iniettata automaticamente nell'html se si utilizza il mio pacchetto (o forse sempre). Non sono sicuro se questo è possibile (ancora)

Qualche idea su questo?

Risposta accettata

modificare

Dal blazor 0.2 c'è un modo più supportato per farlo. Guarda il modello blazorlib per un esempio:

dotnet new -i Microsoft.AspNetCore.Blazor.Templates

dotnet new blazorlib

0.1 risposta

Ho finito per creare il mio componente blazor contenente il mio javascript, in questo modo:

public class BlazorExtensionScripts : Microsoft.AspNetCore.Blazor.Components.BlazorComponent
{

    protected override void BuildRenderTree(Microsoft.AspNetCore.Blazor.RenderTree.RenderTreeBuilder builder)
    {
        builder.OpenElement(0, "script");
        builder.AddContent(1, "Blazor.registerFunction('Alert', (message) => { alert(message); });");
        builder.CloseElement();
    }
}

E aggiungendolo al mio app.cshtml in questo modo:

public class BlazorExtensionScripts : Microsoft.AspNetCore.Blazor.Components.BlazorComponent
{

    protected override void BuildRenderTree(Microsoft.AspNetCore.Blazor.RenderTree.RenderTreeBuilder builder)
    {
        builder.OpenElement(0, "script");
        builder.AddContent(1, "Blazor.registerFunction('Alert', (message) => { alert(message); });");
        builder.CloseElement();
    }
}



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché