면도기 응용 프로그램에 자동 주사 자바 스크립트

asp.net-core blazor c#

문제

Blazor 확장 라이브러리를 개발 중입니다.

이 라이브러리의 한 가지는 javascript alert () 메서드를 다시 사용하는 것입니다. 이 작업을 수행하는 방법을 알고 있습니다. 여기에는 .cshtml 페이지에이 작업이 추가됩니다.

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

그리고 이것은 내 코드에서 :

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

당신이 내 패키지를 (또는 아마도) 항상 사용하는 경우 자바 스크립트 부분을 어떻게 든 html로 주입 된 자동 싶습니다. 이것이 가능한지 확실하지 않은 경우 (아직)

이것에 대한 아이디어가 있습니까?

수락 된 답변

편집하다

블레이저 0.2 이후로 이것을하기위한 더 많은 지원 방법이 있습니다. 예를 들어 blazorlib 템플릿을보십시오.

dotnet new -i Microsoft.AspNetCore.Blazor.Templates

dotnet new blazorlib

0.1 대답

내 자바 스크립트를 포함하는 내 자신의 면도기 구성 요소를 만드는 것으로 끝났다 :

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();
    }
}

그리고 이것을 app.cshtml에 다음과 같이 추가합니다 :

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();
    }
}



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.