假设我想为访问者在所有页面上进行一些日志记录 -
在我的每个页面上,都有这样的内容:
protected override async Task OnInitializedAsync()
{
logger.log(user);
}
有没有更好的方法告诉 blazor 我想要
logger.log
运行所有页面 OnInitializedAsync
?或者我必须为每个页面手动执行此操作。
或者,是否有更好的用户日志记录方法?
创建一个组件,从中继承要应用记录器的所有页面。
我实现了
SetParametersAsync
中的功能,所以你不需要每次都记得调用底座。
public class MyPage : ComponentBase
{
public override Task SetParametersAsync(ParameterView parameters)
{
// Set the parameters
parameters.SetParameterProperties(this);
logger.log(user);
//Call base with an empty parameter view as we've already set them
return base.SetParametersAsync(ParameterView.Empty);
}
}
@page "/"
@inherits MyPage
//...