Blazor剃刀文件中的覆盖生命周期挂钩

时间:2018-12-20 12:03:14

标签: blazor

我正在尝试制作一个组件,该组件将显示从原始日期时间开始经过的时间。

据我了解,您可以重写某些生命周期方法,以便在初始化组件时运行某些代码。但是我收到一个奇怪的编译器错误。

这里是有问题的组件Timer.cshtml

<div>
    <span>It has been @Elapsed.ToString() since @Origin.ToString().</span>
</div>

@functions {
    [Parameter]
    DateTime Origin { get; set; }

    TimeSpan Elapsed { get; set; }

    protected override void OnInit()
    {
        this.Elapsed = new TimeSpan(DateTime.UtcNow.Ticks - Origin.Ticks);
    }
}

dotnet run显示奇怪的编译器错误。 obj\Debug\netstandard2.0\Pages\Timer.g.cs(34,139): error CS1003: Syntax error, ',' expected [C:\path_to_app\BlazorApp1\BlazorApp1.csproj]

VSCode中也存在此错误。听起来您必须创建一个支持类来覆盖生命周期方法。真的吗?有没有方法可以覆盖“剃刀”页面中的生命周期挂钩?

1 个答案:

答案 0 :(得分:0)

以下问题的答案:“是否可以在没有支持类的情况下覆盖Razor页面?”是的。