angular-cn/packages/core/test/render3/styling_next
Matias Niemelä dcdb433b7d perf(ivy): apply [style]/[class] bindings directly to style/className (#33336)
This patch ensures that the `[style]` and `[class]` based bindings
are directly applied to an element's style and className attributes.

This patch optimizes the algorithm so that it...
- Doesn't construct an update an instance of `StylingMapArray` for
  `[style]` and `[class]` bindings
- Doesn't apply `[style]` and `[class]` based entries using
  `classList` and `style` (direct attributes are used instead)
- Doesn't split or iterate over all string-based tokens in a
  string value obtained from a `[class]` binding.

This patch speeds up the following cases:
- `<div [class]>` and `<div class="..." [class]>`
- `<div [style]>` and `<div style="..." [style]>`

The overall speec increase is by over 5x.

PR Close #33336
2019-10-24 17:42:46 -07:00
..
map_based_bindings_spec.ts fix(ivy): ensure errors are thrown during checkNoChanges for style/class bindings (#33103) 2019-10-17 16:46:49 -04:00
styling_context_spec.ts feat(ivy): improve debugging experience for styles/classes (#33179) 2019-10-17 00:35:17 -04:00
styling_debug_spec.ts perf(ivy): apply [style]/[class] bindings directly to style/className (#33336) 2019-10-24 17:42:46 -07:00