【发布时间】:2021-10-21 14:02:55
【问题描述】:
这是我想做的:
@if (condition)
{
<div class="test">
}
<span class="test2">...</span>
@if (condition)
{
</div>
}
这不起作用,因为 Blazor 编译器认为 div 永远不会关闭。
所以我需要这样做:
@if (condition)
{
<div class="test">
<span class="test2">...</span>
</div>
}
else
{
<span class="test2">...</span>
}
它工作正常,但我的跨度有很大的代码冗余。
我怎样才能正确地做到这一点?
请注意 div 和 span 是示例。实际上,我的代码更大。
谢谢
【问题讨论】:
-
你能把
class设置成条件而不是div吗?使用空白类渲染 div 不会导致问题? -
不,我不能。如果实际上有多行代码,则 div 是一个示例。
-
回答后看到您的评论,我添加了第二种可能性。如果这些都不起作用,则可能值得进一步扩展您问题中的示例。
-
也许你应该把它分解成单独的组件。我知道这是一个简单的例子,但更详细地说明你为什么要首先这样做会很好。
-
[礼貌] 你可能不喜欢这种语法,但它就是这样工作的。如果您想要更紧凑的代码,请直接创建类文件并使用 RenderFragmentBuilder 构建 RenderFragment。我同意这可能有点冗长......但是......
标签: razor blazor blazor-server-side