angular - 角度操作集合
问题描述
我是角度的新手。我的背景是 .NET (c#, wpf)。
我想要实现的是拥有一个绑定到表(数据网格)的集合。
集合 (EventData[]) 将由 http get 请求 (getEvents) 填充。
现在正在工作。
接下来,我使用 SignalR 库获取服务器推送的新 EventData 对象。
因此,如果接收到新的 EventData,则该数据应添加到现有集合中并反映到视图中。
在 c# 中,这将是一个简单的“添加”,例如“myEvents.Add(receivedEvent)”。
这是我的代码:
dataSource: EventData[];
ngOnInit() {
this._hubconnection = new signalR.HubConnectionBuilder()
.configureLogging(signalR.LogLevel.Trace)
.withUrl('https://localhost:44373/notify')
.build();
this._hubconnection
.start()
.then(() => console.log('Connection Started'))
.catch(err => console.log('Error while establishing connection'));
this._hubconnection.on('BroadcastMessage', (data: EventData) => {
console.log(data);
this.dataSource.push(data);
// this.dataSource.subscribe(v => v.push(data));
});
}
datasource 是 eventData 集合。
解决方案
您还必须MatTableDataSource
与EventData[];
. 为了展示这一点,我为您创建了一个示例StackBlitz 项目。
如您所见,顶部有一个按钮,上面写着Add Item
。单击该按钮会将新项目添加到表中。
更新用户列表后,我将表数据源设置为一个新列表,如下所示:
this.dataSource = new MatTableDataSource(this.users);
推荐阅读
- interface - Typescript 通用回调,带有扩展接口的参数,TS2345
- python - 使用 selenium 从社交媒体网站下载图像和视频的 Python 脚本?
- python-3.x - 将缺失的日期时间插入 Pandas 数据框 Python
- android - Shrink Android 使 Crash
- sql - 如何在一行中选择两个值?
- ios - 在 AirWatch 上分发 iOS 应用程序 - 相同或别名 sToken 已存在于对等组织组中
- android-studio - 错误:Linux 上 Android Studio 中的“SDK 模拟器目录丢失”
- c# - 如何在 Azure App Service 上运行的 ASP.NET Framework App 中禁用服务器 GC
- php - Laravel Eloquent:查询表,在特定日期获取 X 行(并允许分页)
- python - 尝试从环境变量加载 Scrapy 设置时出现 ModuleNotFoundError