1. 程式人生 > 程式設計 >Blazor頁面元件用法介紹

Blazor頁面元件用法介紹

Blazor應用中,是使用元件來構建使用者介面,例如頁面、視窗、對話方塊等。

元件

使用C#和HTML標記的組合,Blazor元件稱之為Razor元件,檔名以 (.razor)結尾的檔案。

1.如下所示,在VisualStudio建立Blazor應用模板後的截圖,展示了Page資料夾中定義的razor檔案。

Blazor頁面元件用法介紹

注意:所有的Blazor元件,都必須大寫字元開頭,否則無效。如上圖所示 &uarrphEJRPYFvp;

2.關於.razor 頁面

對於每個 .razor頁面來說,包含了兩個部分:

1. Html標記的UI

2. C#編寫的程式碼塊

如下所示,該頁面中定義了一個HTML的標題,通過C#程式碼,給標http://www.cppcns.com

簽定義了一個內容以及標題的斜體樣式:

    <h1 style="font-style:@_headingFontStyle">@_headingText</h1>

@code {
    private string _headingFontStyle = "italic";
    private string _headingText = "你好,世界!";
}

實際的效果,如下所示:

Blazor頁面元件用法介紹

通過在Html標籤中,通過使用在欄位名稱前新增@字首,即可呈現C#欄位。

注意: @code{ } 括號中,允許我們使用C#定義我們熟悉的屬性、欄位、方法、以及各類處理事件等。

元件引數

做過客戶端開發(WPF/Winform)我們都應該清楚,我們經常用到的一些控制元件元素,例如 Button、TextBox、她們都有自己的Name、Text等公共屬性,我們可以自由的定義它。

那麼在razor中,元件更加類似於我們的自定義控制元件(UserControl)或者模板(Template),我們可以在其中定義公開屬性,當外部使用這個元件(.razor)檔案時,即可為其設定繫結值。例:

1.首先,定義一個名為 SurveyPrompt.razor 元件,程式碼為顯示一個標題:

在@code { } 中,定義了一個具有[Parameter]的公共屬性Title,這種引數就稱之為 元件引數

    <h1>@Title</h1>

@code {
    [Parameter]
    public string Title { get; set; }
}

2.接著,在定義Index.razor 中,即可使用上面的元件,並且為其設定Title 屬性:

Blazor頁面元件用法介紹

www.cppcns.com終介面顯示如下所示:

Blazor頁面元件用法介紹

元件多引數 @attributes

元件多引數,支援多個引數定義到一http://www.cppcns.com個物件字典當中,如下所示,第二個Input使用 @attributes語法關聯欄位進行繫結操作:

<input title="@Title" value="@Value"  />

<input @attributes="ButtonAttributes" />


@code {
    [Parameter]
    public string Title { get; set; } = "Hello";

    [Parameter]
    public string Value { get; set; } = "10";

    [Parameter]
    public Dictionary<string,object> ButtonAttributes { get; set; } = new Dictionary<string,object>()
{
        { "title","Hello" },{ "value","10" },};
}

元件方法

定義元件方法

與元件引數相同,如果我們需要為元件公開一個事件,我們同樣的在 @code {} 定義方法,給元件中的按鈕定義了一個按鈕方法,並且標識 [Parameter]特性:

    <button @onclick="OnClickCallback">
       Click
    </button>
</div>

@code {
    [Parameter]
    public EventCallback<MouseEventArgs> OnClickCallback { get; set; }
}

使用元件方法

引用該元件,通過OnClickCallBack為TestComponent元件中的按鈕繫結一個回撥函式。

<TestComponent 
                OnClickCallback="@ShowMessage">
</TestComponent>

到此這篇關於Blazor頁面元件用法的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支援我們。