angular-cn/packages
JiaLiPassion 5e92d649f2 feat(core): add shouldCoalesceRunChangeDetection option to coalesce change detections in the same event loop. (#39422)
Close #39348

Now `NgZone` has an option `shouldCoalesceEventChangeDetection` to coalesce
multiple event handler's change detections to one async change detection.

And there are some cases other than `event handler` have the same issues.
In #39348, the case like this.

```
// This code results in one change detection occurring per
// ngZone.run() call. This is entirely feasible, and can be a serious
// performance issue.
for (let i = 0; i < 100; i++) {
  this.ngZone.run(() => {
    // do something
  });
}
```

So such kind of case will trigger multiple change detections.
And now with Ivy, we have a new `markDirty()` API will schedule
a requestAnimationFrame to trigger change detection and also coalesce
the change detections in the same event loop, `markDirty()` API doesn't
only take care `event handler` but also all other cases `sync/macroTask/..`

So this PR add a new option to coalesce change detections for all cases.

test(core): add test case for shouldCoalesceEventChangeDetection option

Add new test cases for current `shouldCoalesceEventChangeDetection` in `ng_zone.spec`, since
currently we only have integration test for this one.

PR Close #39422
2020-11-16 08:58:50 -08:00
..
animations docs: remove IE10 references from comments in the code (#39090) 2020-10-13 15:51:49 -07:00
bazel docs(bazel): Mention Alex Eagle's article on migration doc (#39507) 2020-11-02 13:34:35 -08:00
benchpress build: add wombot proxy for publish config for @angular/benchpress (#37752) 2020-06-25 17:08:18 -07:00
common fix(common): change the week-numbering year format from `r` -> `Y` (#39495) 2020-10-30 10:24:43 -07:00
compiler refactor(compiler-cli): add keySpan to reference nodes (#39616) 2020-11-12 15:12:53 -08:00
compiler-cli fix(compiler-cli): setComponentScope should only list used components/pipes (#39662) 2020-11-13 11:57:20 -08:00
core feat(core): add shouldCoalesceRunChangeDetection option to coalesce change detections in the same event loop. (#39422) 2020-11-16 08:58:50 -08:00
docs docs(di): fix typo in advanced di doc (#36634) 2020-05-01 09:50:28 -07:00
elements fix(elements): update the view of an `OnPush` component when inputs change (#39452) 2020-11-06 09:31:46 -08:00
examples docs: update forwardRef example (#39519) 2020-11-02 11:40:17 -08:00
forms fix(forms): more precise control cleanup (#39623) 2020-11-12 09:38:19 -08:00
language-service refactor(compiler-cli): add keySpan to reference nodes (#39616) 2020-11-12 15:12:53 -08:00
localize fix(localize): render placeholder types in extracted XLIFF files (#39398) 2020-10-27 10:42:15 -07:00
misc/angular-in-memory-web-api feat(core): update reference and doc to change `async` to `waitAsync`. (#37583) 2020-08-03 12:54:13 -07:00
platform-browser feat(core): add shouldCoalesceRunChangeDetection option to coalesce change detections in the same event loop. (#39422) 2020-11-16 08:58:50 -08:00
platform-browser-dynamic feat(core): update reference and doc to change `async` to `waitAsync`. (#37583) 2020-08-03 12:54:13 -07:00
platform-server fix(core): handle !important in style property value (#39603) 2020-11-12 09:11:18 -08:00
private/testing build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
router fix(router): Ensure all outlets are used when commands have a prefix (#39456) 2020-10-30 16:23:03 -07:00
service-worker feat(service-worker): add the option to prefer network for navigation requests (#38565) 2020-09-22 09:29:20 -07:00
upgrade docs: remove IE10 references from comments in the code (#39090) 2020-10-13 15:51:49 -07:00
zone.js feat(zone.js): monkey patches queueMicrotask() (#38904) 2020-11-05 11:23:33 -08:00
BUILD.bazel build: replace @types/trusted-types dep with minimal type defs (#39211) 2020-10-15 09:08:00 -07:00
README.md docs: add doc reference to npm package readme (#33911) 2019-11-20 14:46:23 -08:00
circular-deps-test.conf.js fix(platform-webworker): remove platform-webworker and platform-webworker-dynamic (#38846) 2020-09-30 09:13:59 -04:00
empty.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
goog.d.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
license-banner.txt build: bump year (#34651) 2020-01-13 07:21:43 -08:00
system.d.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
tsconfig-build-no-strict.json refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
tsconfig-build.json refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
tsconfig-test.json refactor: fix typescript strict flag failures in all tests (#30993) 2019-07-18 14:21:26 -07:00
tsconfig.json fix(platform-webworker): remove platform-webworker and platform-webworker-dynamic (#38846) 2020-09-30 09:13:59 -04:00
types.d.ts build: replace @types/trusted-types dep with minimal type defs (#39211) 2020-10-15 09:08:00 -07:00

README.md

Angular

The sources for this package are in the main Angular repo. Please file issues and pull requests against that repo.

Usage information and reference details can be found in Angular documentation.

License: MIT