blazor,@code指令外部和内部定义字段之间的区别

blazor, Difference between define field outside @code directive and inside it

Blazor component defined field inside and out side code directive

在@code 指令外部和内部定义字段有什么不同。

@{ int color = 128;} 
for(int i =0; i<250 ;i++) 
{
   color++;
   <span>@color </span>
} 
<h1>@color</h1>

@code{
    int color = 128;
}

我注意到,当我将这些用于.. 请解释发生了什么以及为什么会发生。

区别在于范围和初始化变量的时间。

code 块中的内容在任何标记呈现之前初始化,并且可用于组件中的所有内容。

标记中的内容是本地的,仅存在于标记的范围内——因此您可以将计数器或临时字符串变量之类的内容放在那里。

将您的标记想象成一个看起来很有趣的 C# 代码块,您就会有正确的想法。