現在我們有一個可以輸入日誌的介面了,但日誌就是每天都要寫的意思,只有一篇怎麼夠呢?我們來加上blog。
首先建立BlogModel
class,裡面很簡單只有4個Property
,分別為Id、名稱、日誌列表及建立時間。
接著將Post.razor
的@page
指示詞跟EditForm
底下的Expander範例移除,打開launchSettings.json
將launchUrl
改為Blog,因為我們的主體要改成Blog。
再把PostBase
的OnInitializedAsync
中指派值給Post
的部分移除,Post
上面加入Parameter
,表示要從外部傳進來。
最後建立BlogBase.cs
跟Blog.razor
,可以看到BlogBase.cs
的OnInitializedAsync
呼叫一個方法loadData
,實體化一個Blog
,裡面的Posts
有4筆資料。
Blog.razor
則是如下圖一樣,要記住Blog==null
的判斷很重要,因為真實的資料大都會用非同步方式傳遞,所以取得資料的速度會比畫面渲染的時間晚,若沒有這樣判斷,很容易發生Blazor找不到該物件而報錯的狀況。
另外Post.razor
也做了相應調整,可以看到畫面呈現了部落格名稱及4筆日誌,這樣一來我們就完成了簡單的部落格雛型了。
Ref: Employee list blazor component