我有一个相对较大的DOM,并且在触发元素上的事件时注意到chrome的性能下降令人难以置信.单个事件,例如:
myElem.trigger('myevent.myscope',arguments);
Run Code Online (Sandbox Code Playgroud)
需要14ms !! (22.0.1229.92 m)
firefox 15.0.1和msie 9中的同一事件需要不到1ms才能触发!
该元素是一个jquery对象,并且已被缓存,因此在触发器之前不会发生DOM查找.我正在使用console.time()
console.time('trigger');
myElem.trigger('myevent.myscope',arguments);
console.timeEnd('trigger');
Run Code Online (Sandbox Code Playgroud)
有人能否对这种情况有所了解
谢谢
加里
我在使用 @ngrx/data 时遇到了一些困难,希望你们中的一位天才可以帮助我。
我有一个实体集合,想存储一些额外的信息,以减少到服务器的往返次数并减少冗余负载。我有一个数据表,并且只想一次将一页加载到实体集合中,为了能够做到这一点,我想向我的集合中添加额外的元数据,以便我知道何时加载更多数据。例如,当我到达加载数据的末尾时加载更多(分页需要知道存在多少条记录以及加载了多少条记录)。
根据文档,我可以添加 additionalCollectionState 但需要某种方式来更新新的状态属性。
我想我会复制/粘贴他们作为基础的示例代码并修改它以反映我自己的属性..问题是我立即在 => Action上收到打字稿错误
通用类型“操作”需要 1 个类型参数
export class AdditionalPersistenceResultHandler extends DefaultPersistenceResultHandler {
handleSuccess(originalAction: EntityAction): (data: any) => Action {
const actionHandler = super.handleSuccess(originalAction);
// return a factory to get a data handler to
// parse data from DataService and save to action.payload
return function(data: any) {
const action = actionHandler.call(this, data);
if (action && data && data.foo) {
// save the data.foo to action.payload.foo
(action as any).payload.foo = data.foo;
} …Run Code Online (Sandbox Code Playgroud)