在AngularDart中缓存渲染(重)视图以防止重新生成复杂DOM 背景
我正在构建一个应用程序,它将轮询服务器上的大型数据集,然后使用D3.js可视化库处理响应。然后,用户将能够通过(例如)覆盖其他相关数据集来进一步操作视图 该站点的此区域将位于在AngularDart中缓存渲染(重)视图以防止重新生成复杂DOM 背景,dart,angular-dart,Dart,Angular Dart,我正在构建一个应用程序,它将轮询服务器上的大型数据集,然后使用D3.js可视化库处理响应。然后,用户将能够通过(例如)覆盖其他相关数据集来进一步操作视图 该站点的此区域将位于/app/dataview下,要求每个视图都应有一个用于共享/书签的唯一URL。我认为使用queryParameters是实现这一点最方便的方法,因为它不需要使用DB/数据存储将URL映射到相应的配置 /app/dataview?q=<<_queryStr_>> 假设每个数据集 需要服务器请求/响
/app/dataview
下,要求每个视图都应有一个用于共享/书签的唯一URL。我认为使用queryParameters是实现这一点最方便的方法,因为它不需要使用DB/数据存储将URL映射到相应的配置
/app/dataview?q=<<_queryStr_>>
假设每个数据集
- 需要服务器请求/响应李>
- 可高达10MB的大小;及
- 使用D3.js进行处理和渲染最多需要15秒(以前的acid测试使用非角度DART方法)
@Injectable()class CustomService{…}
)缓存部分DOM/文档片段,或者AngularDart中是否有我不知道的其他功能?我在文档中找到了,但不明白这是否是为这个目的而设计的
提前感谢…AFAIK
ViewFactoryCache
用于编译(解析表达式并从中生成Dart代码)和缓存结果(可以在构建时使用我记忆中的转换器完成)。只是隐藏/显示视图而不是删除/添加视图怎么样。最快,但可能会导致其他问题(例如DOM变得太大)。感谢info@Gunter,我将进一步了解ViewFactoryCache
和您提到的transformer选项。至于隐藏/显示建议,虽然有效,但很有可能会有多达10个视图以这种方式显示,并且考虑到大数据和复杂的DOM,页面很可能会爬行/崩溃,因此我希望尽可能避免这种情况。是的,我知道其缺点,但是我认为插入DOM是一个更昂贵的部分。除此之外,您可能只有您提到的选项alredy.AFAIKViewFactoryCache
用于编译(解析表达式并从中生成Dart代码)和缓存结果(可以在构建时使用我记忆中的转换器完成)。只是隐藏/显示视图而不是删除/添加视图怎么样。最快,但可能会导致其他问题(例如DOM变得太大)。感谢info@Gunter,我将进一步了解ViewFactoryCache
和您提到的transformer选项。至于隐藏/显示建议,虽然有效,但很有可能会有多达10个视图以这种方式显示,并且考虑到大数据和复杂的DOM,页面很可能会爬行/崩溃,因此我希望尽可能避免这种情况。是的,我知道其缺点,但是我认为插入DOM是一个更昂贵的部分。除此之外,你可能只有你之前提到的那些选择。
{
"title": "ABC",
"layers": [
{
"q": "SELECT * FROM tblA WHERE name='AAPL' ..."
},
{
"q": "SELECT * FROM tblA WHERE name='MSFT' ..."
}
]
}