小编gar*_*ert的帖子

Chrome事件触发在大型DOM中需要很长时间

我有一个相对较大的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)

有人能否对这种情况有所了解

谢谢

加里

performance jquery dom google-chrome

5
推荐指数
1
解决办法
806
查看次数

覆盖 NGRX DefaultPersistenceResultHandler 的 handleSuccess

我在使用 @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)

ngrx angular

3
推荐指数
1
解决办法
454
查看次数

标签 统计

angular ×1

dom ×1

google-chrome ×1

jquery ×1

ngrx ×1

performance ×1