Blazor bileşenlerinde yerel JS modüllerine nasıl başvurulur?

0

Soru

İki hafta önce Dotnetconf'ta yerel Javascript dosyalarını Blazor bileşenlerine dahil etmenin artık mümkün olduğunu duydum. Kulağa çok ilginç geliyor. Sanırım yaklaşım hala JSİniterop kullanmak ve modül dosyasına başvurmak.

AMA JS dosyasına nasıl başvuruyorsunuz ??? Tüm olası yaratıcı varyantları denedim ama şimdiye kadar başarılı olamadım.

Her yerde Google'a şaşırdım, ancak bu konuda henüz bir rehber veya örnek bulamadım. Tüm ipuçları takdir edilmektedir.

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

En iyi cevabı

1

Yaratabilirsin .js kod dosyasının yanında .jilet.cs dosyası ve bu dosyayı çalışma zamanında yükleyin. Burada tarif edilmiştir. Ayrıca bu özelliğin sunumunu burada ve github repo'yu burada buldum.

Diyelim ki var ComponentA ile ComponentA.razor, ComponentA.razor.cs ve ComponentA.razor.js içindeki dosyalar Pages klasör. Bileşenin başlatılması sırasında bu modülü şu şekilde yükleyebilirsiniz:

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

Ancak bileşeniniz bir bileşen kitaplığı projesinde tanımlanmışsa, farklı bir dosya yolu kullanmanız gerekir. Örneğin, projeniz adlandırılmışsa AppComponents o zaman bu yol şöyle olurdu ./_content/AppComponents/ComponentA.razor.js.

2021-11-20 14:42:26

Örneğini takip ettim ama yine de aynı istisnayı alıyorum. Belki sayfalardan başka bir klasördeki özel bileşenden mümkün değildir? Hata: Microsoft.JSİnterop.JSException: Dinamik olarak içe aktarılan modül getirilemedi: localhost: 5000 / _content / ProjectName/Components/Common / ...
Jakob Lithner

Diğer dillerde

Bu sayfa diğer dillerde

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