Blazor實現組件嵌套傳遞值的示例詳解
實現創(chuàng)建一個Blazor Server空的應用程序
創(chuàng)建一個Tab.razor
并且添加以下代碼
<div> @Title </div> @code { [CascadingParameter] public string? Title { get; set; } }
修改Index.razor
組件代碼
@page "/" <CascadingValue Value="Title"> <Tab/> </CascadingValue> @code{ private string Title = "Index"; }
然后運行程序 效果如圖
這里是一個簡單的組件傳值。但是在使用復雜的傳值時是無法使用的
先展示一個錯誤的用法
修改Tab.razor
的代碼
<div> @Title </div> <h1>分界線</h1> <div> @Data </div> @code { [CascadingParameter] public string? Title { get; set; } [CascadingParameter] public string? Data { get; set; } }
并且修改index.razor
代碼
@page "/" <CascadingValue Value="Title"> <CascadingValue Value="Data"> <Tab /> </CascadingValue> </CascadingValue> @code{ private string Title = "標題"; private string Data = "Data數據展示"; }
運行效果如圖,我們看到運行的數據似乎混亂,這就是多個傳遞的時候出現的問題,如何解決呢?我們繼續(xù)看下面
我們繼續(xù)來到Tab.razor
修改相關代碼 ,我們發(fā)現他們的區(qū)別就是在CascadingParameter
參數中添加唯一名稱
<div> @Title </div> <h1>分界線</h1> <div> @Data </div> @code { [CascadingParameter(Name = nameof(Title))] public string? Title { get; set; } [CascadingParameter(Name = nameof(Name))] public string? Data { get; set; } }
然后來到Index.razor
修改相關代碼
@page "/" <CascadingValue Value="Title" Name="@nameof(Title)"> <CascadingValue Value="Data" Name="@nameof(Data)"> <Tab /> </CascadingValue> </CascadingValue> @code{ private string Title = "標題"; private string Data = "Data數據展示"; }
通過Name綁定到指定的箱套參數,這樣就保證了數據不會亂的問題,如果存在多個參數需要箱套傳遞的話請使用類而不是但個參數,原因就是單個參數需要一個一個去傳遞并且指定Name,并且更容易維護,(可能有人問為什么用nameo而不是字符串,當你重命名的話很有用?。?/p>
到此這篇關于Blazor實現組件嵌套傳遞值的示例詳解的文章就介紹到這了,更多相關Blazor組件嵌套傳遞值內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
iisschlp.wsc [88,25] 屬性值無效 : progid
今天在運行iisapp.vbs時候提示Windows Script Component - file://C:WINDOWSsystem32iisschlp.wsc [88,25] 屬性值無效 : progid,原來是因為安全設置惹的禍,以前就是因為這個一直沒解決2014-07-07Xshell?Plus?6?下載及安裝使用圖文教程(解壓即可使用)
本文分享一波?Xshell?Plus?6?破解版,親測有效,因為是綠色無安裝版本的,下載下來后,解壓即可使用,就可以直接使用了,對Xshell?Plus?6?破解下載圖文教程感興趣的朋友一起看看吧2022-07-07最適合人工智能開發(fā)的5種編程語言 附人工智能入門書籍
這篇文章主要為大家詳細介紹了最適合人工智能開發(fā)的5種編程語言,并為大家推薦人工智能入門書籍,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11