Cómo hacer referencia a los locales JS módulos en Blazor componentes?

0

Pregunta

En Dotnetconf hace dos semanas me enteré de que ahora es posible incluir archivos de Javascript en Blazor componentes. Eso suena muy interesante. Supongo que el enfoque es todavía el uso de JSIniterop de referencia y el archivo de módulo.

PERO ¿cómo se puede hacer referencia al archivo JS ??? He intentado todas las posibles variantes creativas, pero hasta ahora sin éxito.

Estoy sorprendido de Google en todas partes, pero no encontrar guías o muestra, sin embargo, en este. Todos los consejos son muy apreciados.

blazor components interop javascript
2021-11-19 15:22:16
1

Mejor respuesta

1

Usted puede crear .el código js archivo de lado .la maquinilla de afeitar.cs archivo y cargar el archivo en tiempo de ejecución. Se describe aquí. También me encontré con la presentación de esta función aquí y repo de github aquí.

Digamos que usted tiene ComponentA con ComponentA.razor, ComponentA.razor.cs y ComponentA.razor.js archivos en Pages carpeta. Usted puede cargar este módulo durante el componente de inicialización así:

[Inject]
public IJSRuntime JS { get; set; }

private IJSObjectReference module { get; set; }

protected override async Task OnInitializedAsync()
{
    module = await JS.InvokeAsync<IJSObjectReference>("import", "./Pages/ComponentA.razor.js");
}

Pero si el componente está definido en la librería de componentes del proyecto, a continuación, usted tiene que utilizar diferentes ruta de acceso del archivo. Por ejemplo, si el proyecto se denomina AppComponents a continuación, este camino será ./_content/AppComponents/ComponentA.razor.js.

2021-11-20 14:42:26

He seguido su ejemplo, pero aún así obtener la misma excepción. Tal vez no es posible de componente personalizado en otra carpeta de páginas? Error: Microsoft.JSInterop.JSException: no se pudo recuperar de forma dinámica módulo importado: localhost:5000/_content/Nombreproyecto/Componentes/Common/...
Jakob Lithner

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................