728x90
    
    
  이 페이지는 개인적으로 프로젝트를 진행하며 얻은 경험들을 두서없이 기술한 페이지이다.
Blazor 관련 정리
블레이저 라이프 사이클

OnInitialized → OnParametersSet → OnAfterRender
블레이저 구조
블레이저는 ASP.NET 의 기본 구성에서 발전되었다.
블레이저는 컴포넌트들의 조합으로 구성된다.
컴포넌트 상속 관계
블레이저 컴포넌트는 razor 파일로 구성된다.
razor 파일은 cs 파일과 cshtml 파일로 구성된다.
cs 파일은 code behind 영역을 담당하며 cshtml 은 레이아웃을 담당한다.
페이지 호출 상속 관계
페이지가 호출 되면 가장 먼저 cshtml 이 드로잉 된다.
cshtml 내부의 레이아웃 컴포넌트가 드로잉 된다.
<component type="typeof(App)" render-mode="ServerPrerendered"/>레이아웃 컴포넌트 내부의 Body 가 드로잉 된다.
@BodyBody 는 해당 레이아웃 컴포넌트를 호출한 razor 파일을 드로잉 한다.
@page "/sample"
@layout SampleLayout유용한 내용
Javascript 의 document.ready 를 사용하려면 OnAfterRenderAsync 에서 javascript 를 호출해줘야 한다.
window.Ready = () => {
    console.log("document is ready");
}[Inject]
IJSRuntime JSRuntime { get; set; }
protected override async Task OnAfterRenderAsync(bool firstRender)
{   
    if (firstRender)
    {
        await JSRuntime.InvokeVoidAsync("Ready");
    }   
}[Inject]
public NavigationManager NavigationManagerRef { get; set; }
protected void GoToPage(){
    NavigationManagerRef.NavigateTo("url string");
}[Inject]
IJSRuntime JSRuntime { get; set; }
protected override async Task OnAfterRenderAsync(bool firstRender)
{
    if(firstRender){
        await JSRuntime.InvokeVoidAsync("OnInitialized");
    }
}반응형
    
    
    
  '프로그래밍' 카테고리의 다른 글
| Object Calisthenics (0) | 2021.03.02 | 
|---|---|
| TDD and BDD (0) | 2021.03.02 | 
| Javascript 값 복사 (copy value) (0) | 2021.03.02 | 
| Mysql 과 java 데이터 타입 비교 (0) | 2021.03.02 | 
| C# 현재 디렉터리 경로 얻기 (0) | 2021.03.02 |