mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
Up until this point, all static attribute values (things like `title` and `id`)
defined within the `host` are of a Component/Directive definition were
generated into a `def.attributes` array and then processed at runtime.
This design decision does not lend itself well to tree-shaking and is
inconsistent with other static values such as styles and classes.
This fix ensures that all static attribute values (attributes, classes,
and styles) that exist within a host definition for components and
directives are all assigned via the `elementHostAttrs` instruction.
```
// before
defineDirective({
...
attributes: ['title', 'my title']
...
})
//now
defineDirective({
...
hostBindings: function() {
if (create) {
elementHostAttrs(..., ['title', 'my-title']);
}
...
}
...
})
```
PR Close #28089
|
||
|---|---|---|
| .. | ||
| BUILD.bazel | ||
| mock_compile.ts | ||
| mock_compiler_spec.ts | ||
| r3_compiler_compliance_spec.ts | ||
| r3_view_compiler_binding_spec.ts | ||
| r3_view_compiler_di_spec.ts | ||
| r3_view_compiler_directives_spec.ts | ||
| r3_view_compiler_i18n_spec.ts | ||
| r3_view_compiler_input_outputs_spec.ts | ||
| r3_view_compiler_listener_spec.ts | ||
| r3_view_compiler_providers_spec.ts | ||
| r3_view_compiler_spec.ts | ||
| r3_view_compiler_styling_spec.ts | ||
| r3_view_compiler_template_spec.ts | ||
| README.md | ||
Tests in this directory should be run with:
yarn bazel test --define=compile=aot packages/compiler-cli/test/compliance:compliance