Which @angular/* package(s) are the source of the bug?
elements, language-service, upgrade
Is this a regression?
Yes
Description
The @for block does not provide the last and start of the collection when its origin is the result of another @for block.
Please provide a link to a minimal reproduction of the bug
No response
Please provide the exception or error you saw
V17 ❌
1 ------- true false ✔️
1 true false
1 ------- true false ✔️
2 false false
1 ------- true false ✔️
3 false false
1 ------- true false ✔️
4 false false
1 ------- true false ✔️
5 false true
-------------
2 ------- false false ❌
1 true false
2 ------- false false ❌
2 false false
2 ------- false false ❌
3 false false
2 ------- false false ❌
4 false false
2 ------- false false ❌
5 false true
-------------
V16 ✔️
1 ------- true false ✔️
1 true false
1 ------- true false ✔️
2 false false
1 ------- true false ✔️
3 false false
1 ------- true false ✔️
4 false false
1 ------- true false ✔️
5 false true
-------------
2 ------- false true ✔️
1 true false
2 ------- false true ✔️
2 false false
2 ------- false true ✔️
3 false false
2 ------- false true ✔️
4 false false
2 ------- false true ✔️
5 false true
-------------
Please provide the environment you discovered this bug in (run ng version)
Angular CLI: 17.0.1
Node: 20.9.0
Package Manager: npm 8.15.1
OS: win32 x64
Angular:
...
Package Version
------------------------------------------------------
@angular-devkit/architect 0.1700.1 (cli-only)
@angular-devkit/core 17.0.1 (cli-only)
@angular-devkit/schematics 17.0.1 (cli-only)
@schematics/angular 17.0.1 (cli-only)
Anything else?
DATA
.TS
empresa = [
[
{ id: 0, name: '1' },
{ id: 1, name: '2' },
{ id: 2, name: '3' },
{ id: 3, name: '4' },
{ id: 4, name: '5' },
],
[
{ id: 0, name: '6' },
{ id: 1, name: '7' },
{ id: 2, name: '8' },
{ id: 3, name: '9' },
{ id: 4, name: '10' },
]
]
.HTML
V17
@for(users of empresa; track users;let i = $index; let first = $first; let last = $last) { @for(usuario of users; track usuario.id;let j = $index; let first_ = $first; let last_ = $last) { <p> {{i+1}} ------- {{first}} {{last}}</p> <p> {{j+1}} {{first_}} {{last_}}</p> } ------------- }
V16
<ng-container *ngFor="let users of empresa, let i = index, let first = first; let last = last;"> <ng-container *ngFor="let usuario of users, let j = index, let first_ = first; let last_ = last;"> <p> {{i+1}} ------- {{first}} {{last}}</p> <p> {{j+1}} {{first_}} {{last_}}</p> </ng-container> ------------- </ng-container>
Which @angular/* package(s) are the source of the bug?
elements, language-service, upgrade
Is this a regression?
Yes
Description
The @for block does not provide the last and start of the collection when its origin is the result of another @for block.
Please provide a link to a minimal reproduction of the bug
No response
Please provide the exception or error you saw
Please provide the environment you discovered this bug in (run
ng version)Anything else?
DATA
.TS
.HTML
V17
@for(users of empresa; track users;let i = $index; let first = $first; let last = $last) { @for(usuario of users; track usuario.id;let j = $index; let first_ = $first; let last_ = $last) { <p> {{i+1}} ------- {{first}} {{last}}</p> <p> {{j+1}} {{first_}} {{last_}}</p> } ------------- }V16
<ng-container *ngFor="let users of empresa, let i = index, let first = first; let last = last;"> <ng-container *ngFor="let usuario of users, let j = index, let first_ = first; let last_ = last;"> <p> {{i+1}} ------- {{first}} {{last}}</p> <p> {{j+1}} {{first_}} {{last_}}</p> </ng-container> ------------- </ng-container>