@@ -34,7 +34,7 @@ p Run the #[+liveExampleLink2()].
3434
3535 Our `Car` needs an engine and tires. Instead of asking for them,
3636 the `Car` constructor instantiates its own copies from
37- the very specific classes, `Engine` and `Tires`.
37+ the very specific classes `Engine` and `Tires`.
3838
3939 What if the `Engine` class evolves and its constructor requires a parameter?
4040 Our `Car` is broken and stays broken until we rewrite it along the lines of
@@ -422,9 +422,9 @@ block injectable-not-always-needed-in-ts
422422
423423 We *can* add it if we really want to. It isn't necessary because the
424424 `HeroesComponent` is already marked with `@Component`, and this
425- !{_decorator} class (like `@Directive` and `@Pipe` which we will study later
426- on) is a subtype of <a href="#{injMetaUrl}">InjectableMetadata</a>. It is in
427- fact <a href="#{injMetaUrl}"> InjectableMetadata</a> #{_decorator}s that
425+ !{_decorator} class (like `@Directive` and `@Pipe`, which we'll learn about later)
426+ is a subtype of <a href="#{injMetaUrl}">InjectableMetadata</a>. It is in
427+ fact ` InjectableMetadata` #{_decorator}s that
428428 identify a class as a target for instantiation by an injector.
429429
430430block ts-any-decorator-will-do
@@ -701,7 +701,7 @@ block dart-diff-const-metadata-ctor
701701+ makeTabs(
702702 ` dependency-injection/ts/app/heroes/heroes.component.ts,
703703 dependency-injection/ts/app/heroes/heroes.component.1.ts` ,
704- null ,
704+ ',full' ,
705705 ` app/heroes/heroes.component (v3),
706706 app/heroes/heroes.component (v2)` ,
707707 stylePattern)
@@ -813,16 +813,17 @@ block dart-map-alternative
813813
814814 Our `HeroService` *requires* a `Logger`, but what if it could get by without
815815 a logger?
816- As is illustrated next, we can indicate that to the dependency injection
817- framework by marking the constructor's argument as optional.
816+ We can tell Angular that the dependency is optional by annotating the
817+ constructor argument with `@Optional()`:
818818
819819+ ifDocsFor('ts' )
820820 + makeExample('dependency-injection/ts/app/providers.component.ts' ,'import-optional' , '' )
821821+ makeExample('dependency-injection/ts/app/providers.component.ts' ,'provider-10-ctor' , '' )( format ='.' )
822822
823823:marked
824- Be prepared for a null logger. If we don't register one somewhere up the line,
825- the injector will inject `null`.
824+ When using `@Optional()`, our code must be prepared for a null value. If we
825+ don't register a logger somewhere up the line, the injector will set the
826+ value of `logger` to null.
826827
827828.l-main-section
828829:marked
0 commit comments