我很困惑何时在类背后的 Blazor 代码中使用公共属性和何时使用私有变量。使用其中一种是否会对性能产生影响?
不,没有性能影响。
当字段表达组件的属性时使用属性。查看组件参数。此外,用
[Inject]
注释的字段应该是属性。
在表达组件的某些内部状态时使用字段,例如是否显示模式、元素引用、
EditContext
或表单中的模型等。
属性的好处是您可以在 getter 和 setter 中插入一些额外的登录信息。但这可能会对性能产生影响,因为如果您在其中之一中调用
StateHasChanged()
并且组件经常更新,您的页面将变得无响应。大多数需要此逻辑的情况都归结为数据绑定。查看文档:ASP.NET Core Blazor 数据绑定。