如何将数据从 child 页面向上传递到调用 @Body 的页面?
How do I pass data up from the child page to the page calling @Body?
所以我有一个带有标题栏的 MainLayout,我想有一个参数允许页面将标题栏设置为任何它想要的。所以 mainlayout 通过@Body 调用页面,我很困惑如何通过 body 将数据向上传递到 mainlayout 以更新标题栏。
如有任何帮助,我们将不胜感激!
<div class="sidebar">
<NavMenu />
</div>
<div class="main">
<div class="top-row px-4">
<h3 bind="@TitleValue">@(TitleValue)</h3>
<a class="ml-md-auto">@ADService.LoggedUser().DisplayName (@*@(ADService.LoggedUser().IsMemberOf())*@Admin)</a>
</div>
<CascadingValue Value="@TitleValue" Name="TitleValue">
<div class="content px-4">
@Body
</div>
</CascadingValue>
</div>
<Footer />
@functions {
string TitleValue = "Inventory";
}
所以我想做的是向下传递 TitleValue,让页面根据发生的情况更新它,并用新值更新标题栏。
如果这不是解决问题的方法,或者我遗漏了什么,任何帮助都将非常有用:)
我猜下面的不是我的,可以帮到你:
Create a class which holds your data. Register it as singleton
service. Inject it into layout and into page. You should probably add
a notification mechanism to inform all your components that something
was changed in your data class.
所以我有一个带有标题栏的 MainLayout,我想有一个参数允许页面将标题栏设置为任何它想要的。所以 mainlayout 通过@Body 调用页面,我很困惑如何通过 body 将数据向上传递到 mainlayout 以更新标题栏。
如有任何帮助,我们将不胜感激!
<div class="sidebar">
<NavMenu />
</div>
<div class="main">
<div class="top-row px-4">
<h3 bind="@TitleValue">@(TitleValue)</h3>
<a class="ml-md-auto">@ADService.LoggedUser().DisplayName (@*@(ADService.LoggedUser().IsMemberOf())*@Admin)</a>
</div>
<CascadingValue Value="@TitleValue" Name="TitleValue">
<div class="content px-4">
@Body
</div>
</CascadingValue>
</div>
<Footer />
@functions {
string TitleValue = "Inventory";
}
所以我想做的是向下传递 TitleValue,让页面根据发生的情况更新它,并用新值更新标题栏。
如果这不是解决问题的方法,或者我遗漏了什么,任何帮助都将非常有用:)
我猜下面的不是我的,可以帮到你:
Create a class which holds your data. Register it as singleton service. Inject it into layout and into page. You should probably add a notification mechanism to inform all your components that something was changed in your data class.