Blazor Razor返回HTML中的语句



我最近继承了一个Blazor项目,遇到了许多.rarzor文件,比如:

<h1>Some header text></h1>
@if(someCondition) {
<div> lots of html and what not here taking up many lines</div>
} else {
<div> more html taking up many lines</div>
}

我想知道的是,是否有一种语法可以让我消除";否则";隐藏在杂草中的语句,通过在我的";如果";条件含义:

<h1>Some header text></h1>
@if(someCondition) {
<div> lots of html and what not here taking up many lines</div>
return //JUST BAIL HERE INSTEAD OF HAVING TO START AN ELSE BLOCK LIKE I DO ELSEWHERE IN LIFE
}
<div> more html taking up many lines</div>

是。您可以使用return;来结束RenderFragment,而不绘制其他内容。

blazor repl

是的,正如Brian的回答所示,你可以,但Razor鼓励将标记分解为更容易组合的组件。在这种情况下,我会考虑将<div></div>元素分解为它们自己的组件,使生成的Razor更简单:

<h1>Some header text></h1>
@if(someCondition)
{
<component1 />
}
else
{
<component2 />
}

编辑后添加:

想象一下,试图弄清楚为什么某个巨大的标记块并没有在某个页面中呈现,而它周围并没有条件语句。结果发现在组件的中间有一些意想不到的return语句。如果是我的话,我想我的反应不会很好。

相关内容

  • 没有找到相关文章

最新更新