Vscode-ng-language-service: рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рд░рдВрдЧ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдЯреВрдЯ рдЧрдпрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рдЬрдире░ 2020  ┬╖  46рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: angular/vscode-ng-language-service

рдмрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ

рдЯреИрдЧ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдЕрдЬреАрдм рдФрд░ рдЕрд╕рдВрдЧрдд рд╣реИ

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░

рдЯреИрдЧ рдЦреЛрд▓рдиреЗ рдФрд░ рдЯреИрдЧ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рд░рдВрдЧ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрджрд┐ рдХреЛрдб рд╕рд╣реА рд╣реИ рддреЛ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд▓рд╛рд▓ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред

рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ

image

рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрджрд░реНрдн

рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ v0.900.5 , рдореЗрдВ рдЯреВрдЯ v0.900.6

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рд╛рдБред

рд╕рднреА 46 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЙрдкрд░реЛрдХреНрдд рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯрд┐рдкреНрдкрдгреА рд╢реЙрд░реНрдЯрдХрдЯ рдЬреИрд╕реЗ ctrl + / / cmd + / // ... <!-- ... -->

рдореБрджреНрджрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИ рдФрд░ рдмрд┐рд▓реНрдХреБрд▓ рдмреЗрдХрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИред

рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ: рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╕реНрдЯрдо рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдХреЛрдгреАрдп рд╕рд╛рдордЧреНрд░реА рд╡рд╛рд▓реЗ рдФрд░ / рдпрд╛ (event) рд╣реИрдВрдбрд▓рд░ред

рдпрд╣рд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / тЦ│ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/


Angular CLI: 8.3.23
Node: 13.6.0
OS: darwin x64
Angular: 8.2.14
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.803.23
@angular-devkit/build-angular      0.803.23
@angular-devkit/build-optimizer    0.803.23
@angular-devkit/build-webpack      0.803.23
@angular-devkit/core               8.3.23
@angular-devkit/schematics         8.3.23
@angular/cdk                       8.2.3
@angular/cli                       8.3.23
@angular/flex-layout               8.0.0-beta.27
@angular/material                  8.2.3
@angular/material-moment-adapter   8.2.3
@ngtools/webpack                   8.3.23
@schematics/angular                8.3.23
@schematics/update                 0.803.23
rxjs                               6.5.4
typescript                         3.4.5
webpack                            4.39.2

рдЙрдкрд░реЛрдХреНрдд рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯрд┐рдкреНрдкрдгреА рд╢реЙрд░реНрдЯрдХрдЯ рдЬреИрд╕реЗ ctrl + / / cmd + / // ... <!-- ... -->

рдореБрджреНрджрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИ рдФрд░ рдмрд┐рд▓реНрдХреБрд▓ рдмреЗрдХрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИред

рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ: рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╕реНрдЯрдо рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдХреЛрдгреАрдп рд╕рд╛рдордЧреНрд░реА рд╡рд╛рд▓реЗ рдФрд░ / рдпрд╛ (event) рд╣реИрдВрдбрд▓рд░ред

рдпрд╣рд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / тЦ│ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/


Angular CLI: 8.3.23
Node: 13.6.0
OS: darwin x64
Angular: 8.2.14
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.803.23
@angular-devkit/build-angular      0.803.23
@angular-devkit/build-optimizer    0.803.23
@angular-devkit/build-webpack      0.803.23
@angular-devkit/core               8.3.23
@angular-devkit/schematics         8.3.23
@angular/cdk                       8.2.3
@angular/cli                       8.3.23
@angular/flex-layout               8.0.0-beta.27
@angular/material                  8.2.3
@angular/material-moment-adapter   8.2.3
@ngtools/webpack                   8.3.23
@schematics/angular                8.3.23
@schematics/update                 0.803.23
rxjs                               6.5.4
typescript                         3.4.5
webpack                            4.39.2

рдореИрдВ рдпрд╣рд╛рдБ v0.900.6 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рдпрд╣ рдореЗрд░реЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрд┐рд╕реА рднреА рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛?

@ghaschel рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдпрд╣ рд╣рд░ рдлрд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рдЬрд┐рд╕рд╕реЗ рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рдиреА рд╣реБрдИ

<td mat-cell *matCellDef="let param">{{ param.costCode?.name }}</td>

рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ

<td *matCellDef="let param"></td>

рд╢рд╛рдпрдж * рдпрд╛ let ред рд╣рдЯрд╛рдиреЗ рд╕реЗ рдпрд╛ рддреЛ рд░рдВрдЧ рдЧрдбрд╝рдмрдбрд╝ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

; рдмрд╛рдж let param ; рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ

; рдЬреЛрдбрд╝рдирд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЗрд╕ рдореМрдХреЗ рдХреЛ рдиреЙрди рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрдирд╛рдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реИ?
рдХреЛрдгреАрдп ; рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдкреНрд░реЗрдЯрд┐рдпрд░ рдЗрд╕реЗ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ

рдпрд╣ рдХреЛрдгреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдорд┐рд▓рд╛рди рдкреИрдЯрд░реНрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЪрд▓ рд░рд╣реА рдЪрд░реНрдЪрд╛ рдпрд╣рд╛рдБ рд╣реИ: https://github.com/angular/vscode-ng-language-service/issues/571

рдПрдХ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЛ; рдкрд░рдо рдХреЗ рдмрд╛рдж

рдЦреИрд░, IDE рдкреНрд▓рдЧрдЗрди рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рддрд╛рдХрд┐ IDE рдХреЛ HTML рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рдареАрдХ рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдзрд╛рди рдХреА рддрд░рд╣ рди рд▓рдЧреЗ ...

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдореБрджреНрджрд╛ рд╕реНрдерд╛рдиреАрдп рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рддрдп рд╣реЛрдЧрд╛?

рд╣рд╛рдБред

рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде

<ng-container matColumnDef="cost-code">
    <th mat-header-cell *matHeaderCellDef>
        {{ 'GENERAL.COST_CODE'  | async }}
    </th>
    <td mat-cell *matCellDef="let param">{{ param.costCode?.name }}</td>
</ng-container>

рдореИрдВ *matCellDef рдмрдВрдзрди рдореЗрдВ JS рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди *matHeaderCellDef ред @ BO41 рдореБрдЭреЗ рдпрд╛рдж рдЖ рд░рд╣реА рд╣реИ?

Screen Shot 2020-01-25 at 9 33 41 AM

рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде

<ng-container matColumnDef="cost-code">
    <th mat-header-cell *matHeaderCellDef>
        {{ 'GENERAL.COST_CODE'  | async }}
    </th>
    <td mat-cell *matCellDef="let param">{{ param.costCode?.name }}</td>
</ng-container>

рдореИрдВ *matCellDef рдмрдВрдзрди рдореЗрдВ JS рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди *matHeaderCellDef ред @ BO41 рдореБрдЭреЗ рдпрд╛рдж рдЖ рд░рд╣реА рд╣реИ?

Screen Shot 2020-01-25 at 9 33 41 AM

рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХрд╛ рдмреНрд░реЗрдХрд┐рдВрдЧ рдЯреБрдХрдбрд╝рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИ, рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рдирд╣реАрдВред рдУрдк рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ HTML рдЯреИрдЧ рдХреЗ рд▓рд┐рдП рд╢реБрд░реБрдЖрддреА ng-container рдЧрд▓рдд рд░рдВрдЧ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рд╛рд▓ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдирд┐рд░реНрджреЗрд╢ рдФрд░ SNAFU рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХрд╛ рдмреНрд░реЗрдХрд┐рдВрдЧ рдЯреБрдХрдбрд╝рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИ, рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рдирд╣реАрдВред рдУрдк рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ HTML рдЯреИрдЧ рдХреЗ рд▓рд┐рдП рд╢реБрд░реБрдЖрддреА ng-container рдЧрд▓рдд рд░рдВрдЧ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рд╛рд▓ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдирд┐рд░реНрджреЗрд╢ рдФрд░ SNAFU рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рдпрд╣ рд╕рд╣реА рд╣реИред рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд╕рдордп рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдкрддрд╛ рдерд╛ред
рдПрдХ рдмрд╛рд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЯреВрдЯ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдмрд╛рдХреА рдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд░рд┐рдХрд╡рд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

@ayazhafiz рдпрджрд┐ рдЖрдк рдЙрд╕реА рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдиреАрдЪреЗ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдореЗрд░реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ

@ BO41 рдЖрдк рдХрд┐рд╕ рдХреЛрдб рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

<ng-container matColumnDef="cost-code">
    <th mat-header-cell *matHeaderCellDef>
        {{ 'GENERAL.COST_CODE'  | async }}
    </th>
    <td mat-cell *matCellDef="let param">{{ param.costCode?.name }}</td>
</ng-container>

рдпрд╣ рд╡рд╛рд▓рд╛ред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдирдП рдЙрджреНрдШрд╛рдЯрди рдЯреИрдЧ рдХреЛ рдЧрдбрд╝рдмрдбрд╝ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

рдЕрдЪреНрдЫрд╛ рдЬреАред рдХреНрдпрд╛ рдЖрдк рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг let param рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рд▓рд╛рдкрддрд╛ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рд╣реИ?

рдХреИрд╕реЗ? рдХреБрдЫ рднреА рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

  • рдХреЛрдб рдХреЛрдгреАрдп рд╕реЗ рд╣реИ
  • рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ред5
  • рдпрд╣ рд╕рднреА рдЕрдиреНрдп рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рднреА .6 рдпрд╛ .7 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдХреЗ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИ
  • рдЖрдк рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧ рдЗрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдХреЛрдгреАрдп рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдореЗрд░рд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрд╛рдд рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ ng-container рдЯреИрдЧ рдкрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдИ рдЧрдИ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдФрд░ *matCellDef рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдмрд╛рдж рдПрдХ рд▓рд╛рдкрддрд╛ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИред

рдЬреИрд╕рд╛ @ghaschel рдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛

; рдЬреЛрдбрд╝рдирд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИред

рдпрд╛

рд╢рд╛рдпрдж * рдпрд╛ let ред рд╣рдЯрд╛рдиреЗ рд╕реЗ рдпрд╛ рддреЛ рд░рдВрдЧ рдЧрдбрд╝рдмрдбрд╝ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

рд▓реЗрдХрд┐рди рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ * ngFor рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ рдХрд┐ ; рдХреЛ *ngFor="let p of navItems рдЬреЛрдбрд╝рдирд╛ рдмрд╛рдХреА рдХреЗ рд╕реНрд╡рд░реВрдкрдг рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред

image
рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджреЗрддреЗ рд╣реИрдВ

рдареАрдХ рд╣реИ, рд╣рдо рдЗрд╕ рдкрд░ рд╣реИрдВред рдпрджрд┐ рдЗрд╕ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рдЕрдиреНрдп рдХреАрдбрд╝реЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдиреНрдпреВрдирддрдо рдХреЛрдб рдирдореВрдирд╛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рд╣рдо рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдХреЙрдкреА / рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдареАрдХ рд╣реИ, рд╣рдо рдЗрд╕ рдкрд░ рд╣реИрдВред рдпрджрд┐ рдЗрд╕ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рдЕрдиреНрдп рдХреАрдбрд╝реЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдиреНрдпреВрдирддрдо рдХреЛрдб рдирдореВрдирд╛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рд╣рдо рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдХреЙрдкреА / рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

image

<div>
  <ng-template #event>
    <ng-container *ngIf="!false">some code</ng-container>
  </ng-template>
</div>

image

<ng-container *ngFor="let hour of hoursToRender, let f = first, let e = even">
</ng-container>

рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ:

  • рдИ рднреА ngFor рдкрд░, рдФрд░ reserverd рд╢рдмреНрдж рдареАрдХ рд╕реЗ рд░рдВрдЧреАрди рдирд╣реАрдВ рд╣реИрдВред
  • рдкрд╣рд▓реЗ рдЯреИрдЧ рдХреЗ рдкрд╣рд▓реЗ рдПрдирдЬреА-рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдФрд░ рдкрд╣рд▓реЗ рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдкрд░ #event рдХреЗ рдмреАрдЪ рдареАрдХ рд╕реЗ рд░рдВрдЧ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

рдХрднреА-рдХрднреА рдПрдирдЬреА-рдХреЙрдирд┐рдВрдЧрд░ рдареАрдХ рд╕реЗ рд░рдВрдЧреАрди рд╣реЛрддрд╛ рд╣реИ, рдХрднреА-рдХрднреА рдирд╣реАрдВ:
image

<div class="container">
    <div class="hoursHeaderColumn">
        <ng-container *ngFor="let n of hoursToRender, let f = first, let i = index, let e = even">
            <div class="hoursHeader"
                 [class.dayHeader]="f"
                 [class.evenHour]="e">
                <span *ngIf="!f">
                    {{i - 1 + renderStartTime}}
                </span>
            </div>
        </ng-container>
    </div>
    <ng-container *ngFor="let day of daysToRender">
        <div class="day">
            <ng-container *ngFor="let hour of hoursToRender, let f = first, let e = even">
                <div (click)="onHourClick(day, hour)"
                     [class.dayHeader]="f"
                     [class.evenHour]="e"
                     [class.hour]="!f"
                     [class.picked]="!f && !loadingEvents && occuped[day.dayValue][hour].picked">
                    <span *ngIf="f else event">
                        {{day.label}}<br /> <span class="date">{{day.dateValue}}/{{day.month}}</span>
                    </span>
                    <ng-template #event>
                        <ng-container *ngIf="!loadingEvents">
                            <div class="startBleed"
                                 *ngIf="occuped[day.dayValue][hour].startBleed"></div>
                            <div class="occuped"
                                 *ngIf="occuped[day.dayValue][hour].summary && !occuped[day.dayValue][hour].startBleed && !occuped[day.dayValue][hour].endBleed">
                            </div>
                            <div class="endBleed"
                                 *ngIf="occuped[day.dayValue][hour].endBleed"></div>
                        </ng-container>
                    </ng-template>
                </div>
            </ng-container>
        </div>
    </ng-container>
    <app-loading *ngIf="loadingEvents"
                 class="eventsLoader"></app-loading>
</div>

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдПрдкреНрд░реЛрдкрд┐рдПрдЯ рдХрд╛ рд░рдВрдЧ рд╣рд░рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@qmarquez рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рдлрд▓рддрд╛ рдмрд┐рдВрджреБ let <var> = <value> рдХрдерди рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рд╕рд╛рде рдЯреЛрдкреА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЖрдк рд▓рдЧрд╛рддрд╛рд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗрдВрдЧреЗред (рдпрд╣ рдХрд╣рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЙрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред)

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдПрдкреНрд░реЛрдкрд┐рдПрдЯ рдХрд╛ рд░рдВрдЧ рд╣рд░рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдбрд╛рд░реНрдХ + рдереАрдо рд╡рд╛рд▓реЗ HTML рдЯреИрдЧ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд░рдВрдЧ рдЧрд╣рд░рд╛ рдиреАрд▓рд╛ рд╣реИред рдпрд╣ рд╣рд░реЗ рд░рдВрдЧ рдХрд╛ рд░рдВрдЧ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ JSX рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд┐рдВрдЯреИрдХреНрд╕ "рдЕрдЯрдХ рдЧрдпрд╛" рд╣реИ рдФрд░ рдХрднреА рднреА HTML рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдирд┐рдХрд▓ рд░рд╣рд╛ рд╣реИред рдЖрдк рдХрдорд╛рдВрдб рдкреИрд▓реЗрдЯ рд╕реЗ Developer: Inspect TM Scopes рдЪрд▓рд╛рдХрд░ рдФрд░ рд╣рд░реЗ рдЯреИрдЧ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдХреЛрдгреАрдп рд╢реИрд▓реА рдХреЗ рд╡реЗрдм рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдХрд░рдг рдХрд╛ рджрд╛рдпрд░рд╛ meta.tag.custom.<start/end>.html entity.name.tag.html , рдЬреЛ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп HTML рдЯреИрдЧ рдХреЗ рд╕рдорд╛рди рдбрд╛рд░реНрдХ + рд░рдВрдЧ рдХрд╛ рд╣реИред рдРрд╕реЗ рдереАрдо рд╣реИрдВ рдЬреЛ рд╕рд╛рджреЗ HTML рдЯреИрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХреЛ рд░рдВрдЧрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдбрд╛рд░реНрдХ + рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдирд╣реАрдВ рд╣реИред (рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рдВрдЧ рдЗрд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдЗрд╕реЗ рдереАрдо рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдпрд╣ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗрд╡рд▓ рд╡реНрдпрд╛рдХрд░рдг рд╕реНрдХреЛрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдереАрдо рд╣реБрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред)

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЖрдк рд▓рдЧрд╛рддрд╛рд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗрдВрдЧреЗред

рд╣рд╛рдБ, рдпрд╣ рдмрд╛рдд рд╣реИ, рдпрд╣ рддрдп рд╣реИред рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ ',' рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЧрдпрд╛ рд╣реИ

рдпрд╣ рд╕рдм рд╕рд╣реА рд╣реИ! рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ! <рей

рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдЕрдм рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рддрд░рд╣ рдирд╣реАрдВ рд▓рдЧрддреА рд╣реИрдВред
рдХреНрдпрд╛ рдХрд┐рд╕реА рдФрд░ рдиреЗ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдХрд┐рдпрд╛ рд╣реИ?

591

рд╣рд╛рдБ

рдЙрдкрд░реЛрдХреНрдд рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЯрд┐рдкреНрдкрдгреА рд╢реЙрд░реНрдЯрдХрдЯ рдЬреИрд╕реЗ рдХрд┐ ctrl + / / cmd + /, рдПрдХ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдЬреИрд╕реА рдЯрд┐рдкреНрдкрдгреА рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ // ... html-рдЬреИрд╕реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрдЬрд╛рдп

рд╣рдо рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреИрдЪ рдореЗрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ!


╨Ю╤В: рдЕрд░рдиреМрдж рдХреНрд░реЙрдерд░ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
╨Ю╤В╨┐╤А╨░╨▓╨╗╨╡╨╜╨╛: ╤Б╤А╨╡╨┤╨░, ╤П╨╜╨▓╨░╤А╤П 29, 2020 6:47 рдкреВрд░реНрд╡рд╛рд╣реНрди
╨Ъ╨╛╨╝╤Г: рдХреЛрдгреАрдп / vscode-ng- рднрд╛рд╖рд╛-рд╕реЗрд╡рд╛
╨Ъ╨╛╨┐╨╕╤П: рд╣рд╛рдлрд╝рд┐рдЬрд╝; рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛
╨в╨╡╨╝╨░: Re: [рдХреЛрдгреАрдп / vscode-ng- рднрд╛рд╖рд╛-рд╕реЗрд╡рд╛] рдЯреЗрдореНрдкрд▓реЗрдЯ рд░рдВрдЧ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдЯреВрдЯ рдЧрдпрд╛ (# 575)

рддреЛ рдмрд╕ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреИрдЪ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдпрд╛ рдлрд┐рд░ рд╣рдореЗрдВ рдЕрднреА рд╕реЗ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЙрдЪрд┐рдд рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХреЗ? рдЖрдк рд╕рднреА рдХреА рдХрдбрд╝реА рдореЗрд╣рдирдд рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╕реАрдзреЗ рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЬрд╡рд╛рдм, GitHub рдкрд░ рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ https://github.com/angular/vscode-ng-language-service/issues/575?email_source=notifications&email_token=AE6GL6X4BQ4LGSYDIC627PLRAGJHNA5CNFSM4KLCQL6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKHN6ZY#issuecomment-579788647 , рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд https: // GitHubред com / рд╕реВрдЪрдирд╛рдПрдВ / рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ

рдмрд╕ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП: рдкреНрд░реАрдЯреАрдпрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ <div *ngIf="data.status as status;"> рд╕реЗ рдПрдХ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЗрд╕ рдЕрдВрдХ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

@ cpboyd рдХреЛрдИ рднреА рдЙрдкрдХрд░рдг рдЬреЛ рдХреНрд▓рд┐рди рдХреЛрдб рдХреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдХрд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛрдгреАрдп рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реИред рдПрдХ рдмрд╛рд░ рдлрд┐рдХреНрд╕ рдЬрд╛рд░реА рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреБрдЫ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдЗрд╕реЗ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рд┐рд╡рд╛рдп рдЬрдм рд╕рдорд╕реНрдпрд╛ рд╡рд╛рдкрд╕ рдЖрдП :(

@ cpboyd рдХреЛрдИ рднреА рдЙрдкрдХрд░рдг рдЬреЛ рдХреНрд▓рд┐рди рдХреЛрдб рдХреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдХрд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛрдгреАрдп рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реИред рдПрдХ рдмрд╛рд░ рдлрд┐рдХреНрд╕ рдЬрд╛рд░реА рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреБрдЫ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдЗрд╕реЗ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рд┐рд╡рд╛рдп рдЬрдм рд╕рдорд╕реНрдпрд╛ рд╡рд╛рдкрд╕ рдЖрдП :(

рд╣рдо рдпрд╣рд╛рдБ рд╡реНрдпрд╛рдХрд░рдгреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╕реНрдиреИрдкрд╢реЙрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдПрдХ рдмрд╛рд░ рддрдп рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред рдПрдХ рдмрд╛рд░ рдпрд╣ рддрдп рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХреЗ рд░рд┐рдЧреНрд░реЗрд╢рди рдХрд╛ рдкреВрд░реНрд╡рд╛рднрд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ред :)

@ayazhafiz , рдпрджрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред рдЕрдЧрд░ рддреБрдо рдЪрд╛рд╣реЛ рддреЛ рдореИрдВ рдпрд╣рд╛рдВ рдХреЛрдб рдбрд╛рд▓ рд╕рдХрддрд╛ рд╣реВрдВред

Angular language service color problem and solution

@dannymcgee @ayazhafiz рдореИрдВрдиреЗ рдЗрд╕ рдЕрдВрдХ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХреЛрдб рдХреЗ рд╕рд╛рде рд╡реНрдпрд╛рдХрд░рдг рдФрд░ рдХрд╛рдо рдкрд░ рдХреЛрдбрдмреЗрд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИред рдЕрдм рддрдХ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЯреВрдЯрд╛ рдФрд░ рдЦреВрдВрдЦрд╛рд░ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рднреА рдмрд╛рдж рдореЗрдВ as рдСрдкрд░реЗрдЯрд░ рдХреА рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:

<ng-container *myDirective="{ results: results$ } as data"> <!-- it breaks here -->
      <!-- All the lines below are broken -->
      <my-component
        [ngClass]="myClass"

рдореБрдЭреЗ рдкрд┐рдЫрд▓реЗ рдкреНрд░реАрдЯрд┐рдпрд░ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдХ рдорд┐рд▓рд╛: <td mat-cell *matCellDef="let g; else"> рдХрд┐ else рд╕рд┐рдВрдЯреИрдХреНрд╕ hilighting рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред

рдмрд╕ рдореЗрдВ chiming, рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИред

рдЕрдЧрд░ рдореИрдВ async as post рдирд┐рдХрд╛рд▓рддрд╛ рд╣реВрдВ рдФрд░ async рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рджреВрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ let i = index рдпрд╛ i as index рдирд┐рдХрд╛рд▓рдирд╛ред рдирд╣реАрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдХрд╛рдо рдХрд░ рд╕рдорд╛рдзрд╛рдиред

issue

  • рдХреЛрдгреАрдп 9
  • рдХреЛрдгреАрдп рднрд╛рд╖рд╛ рд╕реЗрд╡рд╛ v0.900.11

рдореИрдВ * ngFor рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ рдХрд┐ ; рдХреЛ *ngFor="let p of navItems рдЬреЛрдбрд╝рдирд╛ рдмрд╛рдХреА рдХреЗ рд╕реНрд╡рд░реВрдкрдг рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдПрдХ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛
Capture

рдкрд╣рд▓реЗ "рдЪрд▓реЛ рд╕реНрдХреВ" рдореЗрдВ ; рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ

рдореИрдВ * ngFor рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ рдХрд┐ ; рдХреЛ *ngFor="let p of navItems рдЬреЛрдбрд╝рдирд╛ рдмрд╛рдХреА рдХреЗ рд╕реНрд╡рд░реВрдкрдг рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдПрдХ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛
Capture

рдкрд╣рд▓реЗ "рдЪрд▓реЛ рд╕реНрдХреВ" рдореЗрдВ ; рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ

@ BO41 рдФрд░ @cpboyd рдХреЗ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

https://github.com/angular/vscode-ng-language-service/issues/575#issuecomment -580404727

https://github.com/angular/vscode-ng-language-service/issues/575#issuecomment -578128919

рдХреНрдпрд╛ рдЗрд╕ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ? рдпрд╣ 21 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж рдпрд╣ рдЗрддрдирд╛ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдореИрдВ рдЕрднреА рднреА рдПрдХ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рдЕрднреА рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП ...

рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдЕрд╕рд╣рдордд рд╣реИ

рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдорд╛рд░реНрдХреЗрдЯрдкреНрд▓реЗрд╕ рдкрд░ рдХреЛрдгреАрдп рднрд╛рд╖рд╛ рд╕реЗрд╡рд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдореБрдЦ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рдУрд╡рд░рд╣рд╛рд▓ рдХреЗ рд╕рд╛рде, рдХрдИ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХреАрдбрд╝реЗ рднреА рддрдп рдХрд┐рдП рдЧрдП рд╣реИрдВред

рдпрд╣ рдЗрддрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╣ред

рдПрдХ рдЦреБрд▓рд╛ рдкреАрдЖрд░ рд╣реИред рд╣рдо рд╕рднреА рд╕рдореБрджрд╛рдп рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рд╣реИрдВ!

рдпрд╣рд╛рдБ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рд╣реИ рдЬреЛ рдЙрддреНрд╕реБрдХ рд╣реИ: https://github.com/angular/vscode-ng-language-service/pull/609

рдЖрдкрдХреЗ рдзреИрд░реНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред # 609 рдореЗрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @ghaschel рдФрд░ рд╕рдореАрдХреНрд╖рд╛ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @dannymcgee рдХреЛ рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдпрджрд┐ рдЖрдк рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬрд╝ (0.900.14) рдХреЗ рдмрд╛рдж рдФрд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдФрд░ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВред

0.900.14 рдкрд░ рдИрдЯреАрдП рдХреНрдпрд╛ рд╣реИ?

@kyliau

v0.900.14 рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ!
https://github.com/angular/vscode-ng-language-service/releases/tag/v0006/4

рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдореБрджреНрджрд╛ рд╕реНрд╡рддрдГ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдПрдХ рд╕рдорд╛рди рдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рджрд░реНрдЬ рдХрд░реЗрдВред

рд╣рдорд╛рд░реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк рд▓реЙрдХрд┐рдВрдЧ рдиреАрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВред

_ рдпрд╣ рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмреЙрдЯ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИ ред_

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

mhamri picture mhamri  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pfeigl picture pfeigl  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

crisz picture crisz  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

JoannaFalkowska picture JoannaFalkowska  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

daveriedstra picture daveriedstra  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ