mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
Previously the template type-checking engine processed templates in a linear
manner, and could not handle '#' references within a template. One reason
for this is that '#' references are non-linear - a reference can be used
before its declaration. Consider the template:
```html
{{ref.value}}
<input #ref>
```
Accommodating this required refactoring the type-checking code generator to
be able to produce Type Check Block (TCB) code non-linearly. Now, each
template is processed and a list of TCB operations (`TcbOp`s) are created.
Non-linearity is modeled via dependencies between operations, with the
appropriate protection in place for circular dependencies.
Testing strategy: TCB tests included.
PR Close #29698
|
||
|---|---|---|
| .. | ||
| integrationtest | ||
| ngcc | ||
| src | ||
| test | ||
| BUILD.bazel | ||
| index.ts | ||
| ngtools2.ts | ||
| package.json | ||
| tsconfig-build.json | ||
| tsconfig.json | ||