1、线程纠缠,刷新效率问题
不是浪费时间的问题,我一般都懒得写:)
async Task shua()
{
await InvokeAsync(() => StateHasChanged());
}
如上所示,在Index页面中使用这个刷新模式,另外在各个模块的Set过程中还使用了
this.StateHasChanged()调用,导致线程刷新非常缓慢,数据库的读写也很慢。
解决:
将Index页面中的这个调用去掉,移到各子模块中,明显流畅了很多,导航到别的页面(例如SetPage),也能导航过去了。之前鼠标都无法导航过去,刷新慢啊。
改变后的子模块如下样子:
public async void Set()
{
if (cb.HasDelegate)
{
await InvokeAsync(async () => await cb.InvokeAsync(AlarmText));
}
await InvokeAsync(() => StateHasChanged());
}
2、参数传递的问题
在页面中传递参数非常麻烦,不如直接使用一个类,static字段,使用起来非常嗨!
在不同的页面自模块直接使用了。就是一个页面的公共变量啊,哈哈。
public class Light
{
public static bool IsInIndexPage { get; set; }
}
网友评论