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è)簡單的組件傳值。但是在使用復(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ù)不會亂的問題,如果存在多個(gè)參數(shù)需要箱套傳遞的話請使用類而不是但個(gè)參數(shù),原因就是單個(gè)參數(shù)需要一個(gè)一個(gè)去傳遞并且指定Name,并且更容易維護(hù),(可能有人問為什么用nameo而不是字符串,當(dāng)你重命名的話很有用?。?/p>
到此這篇關(guān)于Blazor實(shí)現(xiàn)組件嵌套傳遞值的示例詳解的文章就介紹到這了,更多相關(guān)Blazor組件嵌套傳遞值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vscode輸入npm?install報(bào)錯(cuò):node-sass@8.0.0?install:'node?
這篇文章主要給大家介紹了關(guān)于vscode輸入npm?install報(bào)錯(cuò):node-sass@8.0.0?install:'node?scripts/install.js'的解決方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
Github創(chuàng)建個(gè)人訪問Tokens令牌
這篇文章介紹了Github創(chuàng)建個(gè)人訪問Tokens令牌的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
VSCode遠(yuǎn)程連接服務(wù)器報(bào)錯(cuò):Could not establish connection to
本文主要介紹了VSCode遠(yuǎn)程連接服務(wù)器報(bào)錯(cuò)的解決,文中通過圖文代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08

