рдХреЛрдгреАрдп 9 рдЕрдм рдЙрдкрд▓рдмреНрдз рд╣реИ - рдЖрдЗрд╡реА рдЖ рдЧрдпрд╛ рд╣реИ

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

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

рд╕рдВрд╕реНрдХрд░рдг 9 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХреИрд╕реЗ рдХрд░реЗрдВ


рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП update.angular.io рдкрд░ рдЬрд╛рдПрдВ ред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЕрдкрдбреЗрдЯ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рдХреЛрдгреАрдп 8 рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ

рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВред рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 8 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ ред рдЕрдкрдЧреНрд░реЗрдб

ng update @angular/cli@8 @angular/core@8

ng update @angular/cli @angular/core

рдХрд┐рдП рдЧрдП рдПрдкреАрдЖрдИ рд╕рд╣рд┐рдд рдЗрд╕ рдЕрдкрдбреЗрдЯ рдореЗрдВ рдХрд┐рдП рдЧрдП рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП , рдХреЛрдгреАрдп рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ 9 рдХреЛрд╡рд░реНрд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рджреЗрдЦреЗрдВ ред

рдЖрдЗрд╡реА рд▓рддрд╛


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

  • рдЫреЛрдЯреЗ рдмрдВрдбрд▓ рдЖрдХрд╛рд░
  • рддреЗрдЬрд╝ рдкрд░реАрдХреНрд╖рдг
  • рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдбрд┐рдмрдЧрд┐рдВрдЧ
  • рдмреЗрд╣рддрд░ CSS рдХреНрд▓рд╛рд╕ рдФрд░ рд╕реНрдЯрд╛рдЗрд▓ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ
  • рдмреЗрд╣рддрд░ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ
  • рдмреЗрд╣рддрд░ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдмрдирд╛рдПрдБ
  • рдирд┐рд░реНрдорд┐рдд рд╕рдордп рдореЗрдВ рд╕реБрдзрд╛рд░, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо AOT
  • рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рдореЗрдВ рд╕реБрдзрд╛рд░

рдЖрдЗрдП рдХреБрдЫ рд╕реБрдзрд╛рд░реЛрдВ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ

рдЫреЛрдЯреЗ рдмрдВрдбрд▓ рдЖрдХрд╛рд░


рдЖрдЗрд╡реА рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдПрдВрдЧреБрд▓рд░ рдХреЗ рдЙрди рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреНрд░реАрд╢реЗрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреЛрдгреАрдп рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЗрди рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЖрдХрд╛рд░ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдореА рдорд┐рд▓ рд╕рдХрддреА рд╣реИред

  • рдЫреЛрдЯреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЬреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рд╡реГрдХреНрд╖рд╛рд░реЛрдкрдг рд╕реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред
  • рдХрдИ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдмрдбрд╝реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрдо рдлреИрдХреНрдЯреНрд░реА рдЖрдХрд╛рд░реЛрдВ рд╕реЗ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред
  • рдордзреНрдпрдо рдЖрдХрд╛рд░ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд▓рдЧрднрдЧ рд╕рдорд╛рди, рдпрд╛ рдереЛрдбрд╝рд╛ рдЫреЛрдЯрд╛ рдорд┐рд▓реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЯреНрд░реАрд╣рд╛рдХрд┐рдВрдЧ рд╕реЗ рдХрдо рд▓рд╛рдн рдЙрдард╛рддреЗ рд╣реИрдВ рдФрд░ рдЫреЛрдЯреЗ рдХрд╛рд░рдЦрд╛рдиреЛрдВ рд╕реЗ рдмрд╣реБрдд рд▓рд╛рдн рдХреЗ рд▓рд┐рдП рдХрдИ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рддреЗрдЬрд╝ рдкрд░реАрдХреНрд╖рдг


рдЖрдЗрд╡реА рдЯреЗрд╕реНрдЯрдмреЗрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рднреА рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдмрдирд╛рддреЗ рд╣реБрдП рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде, рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рдореБрдЦреНрдп рдкрд░реАрдХреНрд╖рдг рд▓рдЧрднрдЧ 40% рддреЗрдЬреА рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 40-50% рдХреЗ рд╕реНрддрд░ рдкрд░ рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреА рдЧрддрд┐ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдВрдЧреЗред

рдмреЗрд╣рддрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ


рдЖрдИрд╡реА рдбрд┐рдмрдЧрд┐рдВрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЖрдИрд╡реА рд░рдирдЯрд╛рдЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдореЛрдб рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╕рдордп, рдПрдирдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрдм рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

  • Angular , .
  • , applyChanges

рдЫрд╡рд┐

Ivy ExpressionChangedAfterItHasBeenCheckederror рдЬреИрд╕реЗ рдбрд┐рдмрдЧ рдореБрджреНрджреЛрдВ рдХреЗ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдореЗрдВ рднреА рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рд╕реНрдЯреИрдХ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рдерд╛:

рдЫрд╡рд┐

рдЖрдЗрд╡реА рдХреЗ рд╕рд╛рде, рдЖрдк рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдирд┐рд░реНрджреЗрд╢ рдкрд░ рдЬрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЫрд╡рд┐

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕реНрдЯреИрдХ рдореЗрдВ AppComponent_Template рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд╛рдЗрди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ:

рдЫрд╡рд┐

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

рдмреЗрд╣рддрд░ рд╕реНрдЯрд╛рдЗрд▓ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдХрдХреНрд╖рд╛рдПрдВред


рдЖрдЗрд╡реА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдиреНрд╣рд╛рдВрд╕рдореЗрдВрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓реЗ, рдпрджрд┐ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рд╢реИрд▓реА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдпреЗ рд╢реИрд▓рд┐рдпрд╛рдБ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИрдВред рдЖрдЗрд╡реА рдХреЗ рд╕рд╛рде, рд╢реИрд▓рд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрдорд╛рди рд╡рд┐рд▓рдп рд╣реЛрддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдФрд░ рдШрдЯрдХ рдЕрдВрд╢реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

<my-component style="color:red;" [style.color]="myColor" [style]="{color: myOtherColor}" myDirective></div>

@Component({
  host: {
    style: "color:blue"
  },...
})
...

@Directive({
  host: {
    style: "color:black",
    "[style.color]": "property"
  },...
})
...

рдкрд╣рд▓реЗ, рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЧрдгрдирд╛ рдХреА рдЧрдИ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд▓рд╛рдЧреВ рдХреА рдЧрдИ рдереА, рдФрд░ рдпрд╣ рдЙрд╕ рд╕рдордп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЗрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рдЧрдП рдереЗред рдпрджрд┐ MyColor рдФрд░ MyOtherColor рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдереЗ, рддреЛ рд╕реНрдерд┐рд░ "рд▓рд╛рд▓" рд╢реИрд▓реА рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╕рдВрд╕реНрдХрд░рдг 9 рдореЗрдВ, рдЖрдк рдЕрдкрдиреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдордп рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред рд╕рдмрд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╢реИрд▓реА рдкреВрд░реНрд╡рддрд╛ рд▓реЗрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, [style.color] рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкреНрд░рддрд┐рдЪреНрдЫреЗрдж рдмрдВрдзрди [рд╢реИрд▓реА] рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддреА рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкрд┐рдЫрдбрд╝реЗ рдЕрдиреБрдХреВрд▓рддрд╛ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ [ngStyle] рдФрд░ [ngClass] рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкрд╣рд▓реЗ рдЬреИрд╕рд╛ рд╣реА рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рддрдбрд╝рдХ-рднрдбрд╝рдХ рд╡рд╛рд▓реЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рддреЗ рд╕рдордп, рдирдП рдореВрд▓реНрдп рдХрд┐рд╕реА рднреА рдЕрддрд┐рд╡реНрдпрд╛рдкреА рддрдбрд╝рдХ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВрдЧреЗред

рдЖрдк рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдореЗрдВ рд╢реИрд▓реА рдкреВрд░реНрд╡рддрд╛ рдирд┐рдпрдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ редрдкреНрд░рд▓реЗрдЦрди рдореЗрдВред

рд╕реНрдЯрд╛рдЗрд▓ рд░рд┐рдлреИрдХреНрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрдм рдЖрдк CSS рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ (CSS рдХрд╕реНрдЯрдо рдЧреБрдг) рд╕реЗ рднреА рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

<div [style.тАК--тАКmain-border-color]=" '#CCC' ">
<p style="border: 1px solid var(тАК-тАК-main-border-color)">hi</p>
</div>

рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реБрдЖ


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

рдорд╛рдирдХ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рджреЛ рдореБрдЦреНрдп рдЭрдВрдбреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

  • fullTemplateTypeCheck - рдЗрд╕ рдЭрдВрдбреЗ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рд╕реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдЖрдкрдХреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ (ngIf, ngFor, tp-template, рдЖрджрд┐) рдореЗрдВ рд╕рдм рдХреБрдЫ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
  • hardTemplates - рдЗрд╕ рдзреНрд╡рдЬ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рд╕реЗ рдЯрд╛рдЗрдк рдЪреЗрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдХрдбрд╝реЗ рдирд┐рдпрдо рд▓рд╛рдЧреВ рд╣реЛрдВрдЧреЗред

тЖТ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдЯрд╛рдЗрдк рдЬрд╛рдБрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ

рдирд┐рд╢реНрдЪрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ


рдирдпрд╛ рдЖрдЗрд╡реА рдХрдВрдкрд╛рдЗрд▓рд░ рди рдХреЗрд╡рд▓ рддреЗрдЬ рд╣реИ рдФрд░ рдЙрдЪреНрдЪ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рд░реАрдбрд┐рдВрдЧ рдПрд░рд░ рдореИрд╕реЗрдЬ рдХреЛ рднреА рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред

рд╕рдВрд╕реНрдХрд░рдг 8 рдпрд╛ рд╡реНрдпреВ рдЗрдВрдЬрди рдореЗрдВ, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рддреНрд░реБрдЯрд┐ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:

рдЫрд╡рд┐

Ivy рдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдХрд░рдг 9 рдореЗрдВ, рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

рдЫрд╡рд┐

рдирд┐рд░реНрдорд┐рдд рд╕рдордп рдореЗрдВ рд╕реБрдзрд╛рд░, рдПрдУрдЯреА рд╕рдВрдХрд▓рдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИред


рдЖрдЗрд╡реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╕рдВрдХрд▓рдХ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИред
рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдПрдХ рд╕рд░рд▓ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рдУрд╡рд░рд╣реЗрдб рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдорд╛рдкрд╛ рд╕рдВрдХрд▓рдХ рдкреНрд░рджрд░реНрд╢рдиред рд╣рдорд╛рд░реА рдкреНрд░рд▓реЗрдЦрди рдкрд░рд┐рдпреЛрдЬрдирд╛ (рдХреЛрдгреАрдп.io) рдХреЗ рд▓рд┐рдП, рдУрд╡рд░рд╣реЗрдб 0.8x рд╕реЗ рдШрдЯрдХрд░, Ivy рдХреЗ рд╕рд╛рде x, рд▓рдЧрднрдЧ 40% рдХрд╛ рд╕реБрдзрд╛рд░ рд╣реБрдЖред

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

рд╕рдВрдХрд▓рдХ рдФрд░ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреА рдЕрдм рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрди рдШрдЯрдХреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╡рд░реНрдзрд┐рдд рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг (i18n)


рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рдХреЛрдгреАрдп рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдереА рдЬрд╣рд╛рдВ рдЖрдк рдПрдХ рдмрд╛рд░ рдПрдХ рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡реЗрджрди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдФрд░ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдВрд╕реНрдХрд░рдг 9.0 рдиреЗ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдмрд╛рдж рдореЗрдВ i18n рд▓реБрдХрдЕрдк рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рддреЗрдЬ рдХрд┐рдпрд╛ред рдЗрд╕ рдмрджрд▓рд╛рд╡ рдиреЗ рдЗрд╕реЗ 10 рдЧреБрдирд╛ рддреЗрдЬ рдХрд░ рджрд┐рдпрд╛ред

тЖТ рдирдП i18n рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА :рдХреЛрдгреАрдп/ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдФрд░ рдирдпрд╛ рдХреЛрдгреАрдп.рдЬреЙрдиред

рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдПрдирдЬреА рдЕрджреНрдпрддрди


рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рд╕реВрдЪрдирд╛рддреНрдордХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдирдЬреА рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЧрдП рд╣реИрдВред

  • рд╣рдореЗрд╢рд╛ CLI рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред 8.3.19 рд╕реАрдПрд▓рдЖрдИ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рд╣рдо рдЕрдм рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рдХреНрд╖реНрдп рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕реАрдПрд▓рдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЕрдкрдбреЗрдЯ рд╣рдореЗрд╢рд╛ рдЕрдВрддрд┐рдо рд╕реАрдПрд▓рдЖрдИ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
  • рдмреЗрд╣рддрд░ рдЕрджреНрдпрддрди рдкреНрд░рдЧрддрд┐ред рдПрдирдЬреА рдЕрдкрдбреЗрдЯ рдЕрдм рд╣реБрдб рдХреЗ рддрд╣рдд рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рджреЗрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦреЗрдВрдЧреЗред
  • рдЕрджреНрдпрддрдиреЛрдВ рдХреА рдЖрд╕рд╛рди рдбрд┐рдмрдЧрд┐рдВрдЧред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдПрдирдЬреА рдЕрдкрдбреЗрдЯ рд╕рднреА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдХ рдореЗрдВ рд╕рдВрдЪрдпреА рдкрд░рд┐рд╡рд░реНрддрди рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рд╕рдВрд╕реНрдХрд░рдг 9 рдЕрдкрдЧреНрд░реЗрдб рднреА рдПрдХ рдирдпрд╛ рдЭрдВрдбрд╛ рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ - рдХреНрд░реЗрдЯ-рдХрдорд┐рдЯреНрд╕ред рдЬрдм рдЖрдк рдПрдирдЬреА рдЕрдкрдбреЗрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВ - рдХреНрд░реЗрдЯ-рдХрдорд┐рдЯреНрд╕, рдЯреВрд▓ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдмрд╛рдж рдЖрдкрдХреЗ рдХреЛрдбрдмреЗрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЖрдк рд╕реНрдЯреЗрдк рдореЗрдХ рд╕реНрдЯреЗрдк рдореЗрдХ рдХрд░ рд╕рдХреЗрдВ рдФрд░ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░ рд╕рдХреЗрдВред

рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ "рдкреНрд░рджрд╛рди"


рдЬрдм рдЖрдк Angular рдореЗрдВ @Injectable рд╕рд░реНрд╡рд┐рд╕ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рдЗрдВрдЬреЗрдХреНрдЯрд░ рдореЗрдВ рдХрд╣рд╛рдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПред рдкрд┐рдЫрд▓реЗ "рд░реВрдЯ" рдФрд░ "рдореЙрдбреНрдпреВрд▓" рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдИ рджрд┐рдПред

  • рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо - provideIn: 'рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо' рд╕рдВрдХреЗрдд рд╕реЗрд╡рд╛ рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рд┐рдВрдЧрд▓рдЯрди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЗрдВрдЬреЗрдХреНрдЯрд░ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкреГрд╖реНрда рдкрд░ рд╕рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдХреЛрдИ рднреА - рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреВрдард╛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ (рдЖрд▓рд╕реА рдореЙрдбреНрдпреВрд▓ рд╕рд╣рд┐рдд)

тЖТ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдИ рдЧрдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ

рдШрдЯрдХ рдмрдВрдзрди


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

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

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

рдпрд╣рд╛рдБ рдкрд╣рд▓реЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:


it("should switch to bug report template", async () => {
  expect(fixture.debugElement.query("bug-report-form")).toBeNull();
  const selectTrigger = fixture.debugElement.query(
    By.css(".mat-select-trigger")
  );
  selectTrigger.triggerEventHandler("click", {});
  fixture.detectChanges();
  await fixture.whenStable();
  const options = document.querySelectorAll(".mat-select-panel mat-option");
  options[1].click(); // Click the second option, "Bug".
  fixture.detectChanges();
  await fixture.whenStable();
  expect(fixture.debugElement.query("bug-report-form")).not.toBeNull();
});

рдФрд░ рд╡рд╣реА рдмрд╛рдд рдЕрдм:


it("should switch to bug report template", async () => {
  expect(fixture.debugElement.query("bug-report-form")).toBeNull();
  const select = await loader.getHarness(MatSelect);
  await select.clickOptions({ text: "Bug" });
  expect(fixture.debugElement.query("bug-report-form")).not.toBeNull();
});

рдирдП рдШрдЯрдХ


рдЕрдм рдЖрдк рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ YouTube рдФрд░ Google рдореИрдкреНрд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

  • рдЖрдк рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ YouTube рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдирдП youtube рдкреНрд▓реЗрдпрд░ рдХреЗ рд╕рд╛рде рдПрдореНрдмреЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рд╣рдо рдЧреВрдЧрд▓-рдореИрдк рдШрдЯрдХреЛрдВ рдХреЛ рднреА рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВред рдпреЗ рдШрдЯрдХ Google рдореИрдкреНрд╕ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛, рдорд╛рд░реНрдХрд░реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛, рдФрд░ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рдПрдХ рдирд┐рдпрдорд┐рдд рдХреЛрдгреАрдп рдШрдЯрдХ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░реЗ, рдЬрд┐рд╕рд╕реЗ Google рдореИрдкреНрд╕ рдПрдкреАрдЖрдИ рд╕реАрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПред

рдЖрдИрдбреАрдИ рдФрд░ рднрд╛рд╖рд╛ рд╕реЗрд╡рд╛ рдореЗрдВ рд╕реБрдзрд╛рд░


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

  • рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЯреЗрдХреНрд╕реНрдЯрдореЗрдЯ рд╡реНрдпрд╛рдХрд░рдг рдЕрдм рдЖрдкрдХреЛ рдПрдореНрдмреЗрдбреЗрдб рдФрд░ рдмрд╛рд╣рд░реА рджреЛрдиреЛрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
  • TemplateUrl рдФрд░ styleUrls рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд╛ рдкрд░ рдЬрд╛рдПрдВ
  • рдЯреВрд▓рдЯрд┐рдк рдореЗрдВ рдЯрд╛рдЗрдк рдФрд░ NgModule рдЬрд╛рдирдХрд╛рд░реА

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 3.7 рдХрд╛ рд╕рдорд░реНрдерди


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

Source: https://habr.com/ru/post/undefined/


All Articles