Blazor實(shí)現(xiàn)組件嵌套傳遞值的示例詳解
實(shí)現(xiàn)創(chuàng)建一個(gè)Blazor Server空的應(yīng)用程序
創(chuàng)建一個(gè)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"; }
然后運(yùn)行程序 效果如圖
這里是一個(gè)簡(jiǎn)單的組件傳值。但是在使用復(fù)雜的傳值時(shí)是無法使用的
先展示一個(gè)錯(cuò)誤的用法
修改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 = "標(biāo)題"; private string Data = "Data數(shù)據(jù)展示"; }
運(yùn)行效果如圖,我們看到運(yùn)行的數(shù)據(jù)似乎混亂,這就是多個(gè)傳遞的時(shí)候出現(xiàn)的問題,如何解決呢?我們繼續(xù)看下面
我們繼續(xù)來到Tab.razor
修改相關(guān)代碼 ,我們發(fā)現(xiàn)他們的區(qū)別就是在CascadingParameter
參數(shù)中添加唯一名稱
<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
修改相關(guān)代碼
@page "/" <CascadingValue Value="Title" Name="@nameof(Title)"> <CascadingValue Value="Data" Name="@nameof(Data)"> <Tab /> </CascadingValue> </CascadingValue> @code{ private string Title = "標(biāo)題"; private string Data = "Data數(shù)據(jù)展示"; }
通過Name綁定到指定的箱套參數(shù),這樣就保證了數(shù)據(jù)不會(huì)亂的問題,如果存在多個(gè)參數(shù)需要箱套傳遞的話請(qǐng)使用類而不是但個(gè)參數(shù),原因就是單個(gè)參數(shù)需要一個(gè)一個(gè)去傳遞并且指定Name,并且更容易維護(hù),(可能有人問為什么用nameo而不是字符串,當(dāng)你重命名的話很有用?。?/p>
到此這篇關(guān)于Blazor實(shí)現(xiàn)組件嵌套傳遞值的示例詳解的文章就介紹到這了,更多相關(guān)Blazor組件嵌套傳遞值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
iisschlp.wsc [88,25] 屬性值無效 : progid
今天在運(yùn)行iisapp.vbs時(shí)候提示W(wǎng)indows Script Component - file://C:WINDOWSsystem32iisschlp.wsc [88,25] 屬性值無效 : progid,原來是因?yàn)榘踩O(shè)置惹的禍,以前就是因?yàn)檫@個(gè)一直沒解決2014-07-07通過lms.samples熟悉lms微服務(wù)框架的使用詳解
這篇文章主要介紹了通過lms.samples熟悉lms微服務(wù)框架的使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04Xshell?Plus?6?下載及安裝使用圖文教程(解壓即可使用)
本文分享一波?Xshell?Plus?6?破解版,親測(cè)有效,因?yàn)槭蔷G色無安裝版本的,下載下來后,解壓即可使用,就可以直接使用了,對(duì)Xshell?Plus?6?破解下載圖文教程感興趣的朋友一起看看吧2022-07-07最適合人工智能開發(fā)的5種編程語言 附人工智能入門書籍
這篇文章主要為大家詳細(xì)介紹了最適合人工智能開發(fā)的5種編程語言,并為大家推薦人工智能入門書籍,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11Terraform集成簡(jiǎn)單Gitlab?CI方案詳解
這篇文章主要為大家介紹了Terraform?+?Gitlab?CI簡(jiǎn)單集成方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07玩轉(zhuǎn)markdown 分享幾個(gè)需要用到的工具
markdown是一個(gè)面向?qū)懽鞯恼Z法引擎,markdown的最終目的都是解析成html用于網(wǎng)頁瀏覽,所以它兼容html語法,即你可以在 markdown文檔中使用原生的html標(biāo)簽2016-08-08