(一)Asp.Net Core Blazor 入門


 

首先確保你已經具備相應的環境,VS2019和.NET Core SDK,學習的話,最好持續更新到最新版本。

其次推薦到微軟官網去學習,文檔資料也都能在官方文檔中找到,這將是一個系列的文章,本人將持續的關注blazor的發展並持續學習。

第一步,找到Blazor應用

 

第二步,給項目改一個名稱,這里就叫BlazorApp

 

 

第三步,框架選擇.NET5.0,如果沒有選擇.net core 3.1也是一樣的,Server和WebAssembly App 入門學習都是一樣的,我認為未來還是wasm

 

 

創建好的項目如下

 

  • Program.cs 是啟動服務器的應用程序的入口點。
  • App.razor 是應用程序的根組件。
  • BlazorApp/Pages目錄包含該應用程序的一些示例頁面。

我們直接運行看下效果

 

在左側導航欄看到有三個自帶的頁面,下面我們就來入門blazor。

組件

 首先看下上面的首頁,就是Pages/Index.razor這個頁面,我們找到並打開它

 

 這里有一個點就是@page指令,該指令后面跟的就是該頁面的路由地址,用來指定路由的。

該組件顯示了一些簡單的信息,我們都很熟悉,<SurveyPrompt Title="How is Blazor working for you?" />這一段呢我們暫時先不管,它是一個組件。

我們再來看下導航欄中的第二個頁面

這個頁面有一個按鈕,點擊按鈕的時候我們發現沒有刷新頁面當前數量的數字就會累加,通常在網頁中,這種操作都是需要JavaScript來完成,但是在blazor中我們可以通過C#來實現了。

我們找到Counter組件對應的實現頁面Pages/Counter.razor

 

 @page "/counter" 指令與頁面中的地址欄相匹配,說明@page指令指定的就是請求的路由地址。

使用@code{ }來寫C#代碼,使用@onclick綁定點擊事件的方法

每次在點擊按鈕的時候:

  • onclick事件被觸發。
  • IncrementCount方法被調用。
  • currentCount遞增。
  • 渲染該組件以顯示更新的計數。

接下來我們就來試一下組件,我們把這個Counter組件添加到首頁中,如下所示

 

 Ctrl + F5 運行看下效果,發現確實把組件顯示了出來並且點擊效果也是一樣的

 

 組件的時候我們已經知道了,接下來我們來試着給組件中增加一個參數,並且傳遞參數給組件。

我們來改造下Counter.razor組件,在里面增加了一個IncrementAmount參數並且給了默認值1,並且修改了IncrementCount方法,使用了該參數。

 

 接下來我們運行下,看看效果,首頁和這個Counter頁都和原來一樣,沒有改變。

我們再回到首頁的對應頁面,修改下首頁添加的Counter組件,把剛才的參數傳遞進去,修改后如下

 

 這時候我們保存再次運行,我們點擊首頁的這個按鈕發現已經是10倍的增加了,說明傳遞參數有效,再看看原來的Counter組件頁面,還是原來的狀態。

至此,恭喜你,你已經成功的構建了一個blazor應用程序!

在這個示例中,我們了解了頁面組件,如何使用組件,以及給屬性定義參數並在使用組件時給組件傳參的方法。

下面我們自己新建一個組件,待辦事項的組件,通過該組件把上面的所有內容進行一個總結。

 

 然后再在項目的根目錄下新建一個TodoItem.cs類,內容如下:

 

 再回到剛才新建的Todo.razor頁面

首先在頂部指定@page路由地址,然后再@code代碼段中添加一個List<TodoItem>類型的todos屬性,最后在頁面中循環列出這個todos的數據。

然后我們再添加一個文本框用於輸入待辦事項,並且在添加一個按鈕用於把輸入添加到上面的列表中,最終代碼如下:

 

 我們暫時還不實現添加按鈕的功能,先運行看下效果,當然,先把當前組件添加到導航欄,在Shared文件夾中找到NavMenu.razor組件,直接復制上一個li並稍作修改即可

 

 好,運行,看看效果,發現導航欄已經有了,點擊頁面顯示正常,只是點擊按鈕沒有反應,應為我們還沒有實現點擊事件

以上呢還都是已知的內容,接下來我們就來實現添加待辦事項,並且引入一個新的東西,雙向綁定。

我們回到Todo.razor組件,為button按鈕添加一個點擊事件AddTodo,然后再code代碼段中添加一個AddTodo方法。

接下來就是實現該添加方法。

在code代碼段中添加一個newTodo字段,然后在input輸入框中綁定該字段,然后實現添加方法,最終代碼如下:

 

 運行后輸入一段內容點擊添加是可以的

 

 接下來我們再升級系,每個待辦項的標題文本都可以編輯,復選框可以幫助用戶跟蹤已完成的項。 為每個待辦項添加一個復選框輸入,並將它的值綁定到 IsDone 屬性。 將 @item.Title 更改為綁定到 @item.Title 的 <input> 元素:

為了看到綁定的勾選完成的待辦事項,我們在標題中增加一個未完成的待辦事項的數量統計,最終代碼如下:

 

 運行看下效果,狀態是變化的,待辦事項統計數量也在變化

 

 到目前為止,blazor的入門你已經完成了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM