Como referência local JS módulos em Blazor componentes?

0

Pergunta

No Dotnetconf duas semanas atrás, ouvi agora, é possível incluir locais de arquivos Javascript (mais em Blazor componentes. Que parece muito interessante. Eu acho que a abordagem ainda é usar JSIniterop e referência do módulo arquivo.

MAS como você faz referência o arquivo JS ??? Eu tentei todos criativas possíveis variantes, mas até agora sem sucesso.

Estou surpreso com o Google em qualquer lugar, mas não encontrar nenhuma guias ou amostra ainda sobre isso. Todas as dicas são bem-vindas.

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

Melhor resposta

1

Você pode criar .código js do arquivo .navalha.cs arquivo e carregar esse arquivo em tempo de execução. É descrito aqui. Também achei a apresentação deste recurso aqui e github repo aqui.

Vamos dizer que você tem ComponentA com ComponentA.razor, ComponentA.razor.cs e ComponentA.razor.js arquivos em Pages a pasta. Você pode carregar este módulo durante a componente de inicialização da seguinte forma:

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

Mas se o componente é definida em uma biblioteca de componentes do projeto, em seguida, você tem que usar o caminho de arquivo diferente. Por exemplo, se seu projeto é denominado AppComponents em seguida, este caminho seria ./_content/AppComponents/ComponentA.razor.js.

2021-11-20 14:42:26

Eu segui o seu exemplo, mas ainda a mesma exceção. Talvez não é possível a partir do componente personalizado em outra pasta de páginas? Erro: Microsoft.JSInterop.JSException: Falhou ao buscar dinamicamente módulo importado: localhost:5000/_site/ProjectName/Componentes/Common/...
Jakob Lithner

Em outros idiomas

Esta página está em outros idiomas

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