ยังจะอ้างอิงท้องถิ่น JS อดูลใน Blazor ส่วนประกอบ?

0

คำถาม

บ Dotnetconf สองอาทิตย์ก่อนฉันได้ยินมันคือตอนนี้เป็นไปได้ที่จะมีส่วนร่วมท้องถิ่นจาวาสคริปต์แฟ้มใน Blazor ส่วนประกอบ นั่นฟังดูน่าสนใจมาก ฉันเดาว่าคงเป็นวิธียังคงต้องใช้ JSIniterop และอ้างอิงในศูนย์ควบคุม kde ในโมดูลแฟ้ม

แต่ยังไงคุณอ้างอิงที่ JS แฟ้มหรือไม่??? ฉันพยายามทั้งหมดเท่าที่ทำได้สร้างสรรค์ variants แต่ตอนนี้ไม่เคยประสบความสำเร็จ

ฉันประหลาดใจจริงๆต้องของกูเกิ้ลทุกแห่งแต่เจอไม่นำหรือตัวอย่างยังกับเรื่องนี้ ทั้งคำใบ้ไว้เป็นเกียรติอย่างยิ่ง

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

คำตอบที่ดีที่สุด

1

คุณสามารถสร้าง.js รหัสแฟ้มต่อไปมีดโกนหนวดดีๆสักอันà™àà§à•à£àà™แฟ้มและโหลดแฟ้มใน runtime. มันอธิบายว่า อยู่ที่นี่. ยังฉันพบการนำเสนอของคุณสมบัติ อยู่ที่นี่ และ github สาวนั่น อยู่ที่นี่.

เอาเป็นว่าคุณมี ComponentA กับ ComponentA.razor, ComponentA.razor.cs แล้ว ComponentA.razor.js แฟ้มอยู่ Pages โฟลเดอร์ คุณสามารถโหลดมอดูลนี้ระหว่างส่วนประกอบขอ initialization เหมือนแล้ว:

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

แต่ถ้าคุณส่วนประกอบถูกกำหนดในส่วนประกอบโครงการห้องสมุดนั้นคุณต้องใช้ต่างออกแฟ้มเส้นทางเดินของตัวเอง ตัวอย่างเช่นถ้าคุณโครงการชื่อ AppComponents แล้วเส้นทางนี้จะเป็น ./_content/AppComponents/ComponentA.razor.js.

2021-11-20 14:42:26

ฉันตามตัวอย่างของคุณแต่ยังคงได้เหมือนข้อยกเว้น บางทีมันอาจจะเนื่องจากเป็นไปไม่ได้ที่มันจากกำหนดเองส่วนประกอบในโฟลเดอร์อื่นมากกว่าหน้า? เกิดข้อผิดพลาด:ไมโครซอฟท์JSInterop.JSException:ล้มเหลวในการดึ dynamically นำเข้าศูนย์ควบคุม kde ในโมดูล: localhost:5000/_content/ProjectName/ส่วนประกอบ/เหมือนกัน/...
Jakob Lithner

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

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