8000 docs(dependency-injection): add Dart version, tweak TS version by kwalrath · Pull Request #972 · angular/angular.io · GitHub
[go: up one dir, main page]

Skip to content
This repository was archived by the owner on Dec 4, 2017. It is now read-only.

docs(dependency-injection): add Dart version, tweak TS version #972

Closed
wants to merge 20 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Tweak samples
  • Loading branch information
kwalrath committed Mar 25, 2016
commit 74cd216093e4567b8802f7b3a6df3c4941641b05
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// #docregion
import 'car.dart';

// BAD pattern!
class CarFactory {
Car createCar() {
var car = new Car(createEngine(), createTires());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could showcase the cascade operator here:

return new Car(createEngine(), createTires())..description = 'Factory';

Expand Down
8000
Original file line numberDiff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ class Car {
engine = new Engine();
tires = new Tires();
}

//#enddocregion car-ctor

// Method using the engine and tires
drive() => '$description car with ${engine.cylinders} cylinders and ${tires.make} tires.';
drive() => '$description car with '
'${engine.cylinders} cylinders and ${tires.make} tires.';
}
//#enddocregion car
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import 'package:angular2/angular2.dart';
import 'hero_list_component.dart';
// #enddocregion v1
import 'hero_service.dart';

// #docregion v1

@Component(
selector: 'my-heroes',
template: '''
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@ class ProviderComponent2 {
String log;

ProviderComponent2(Logger logger) {
logger.log(
'Hello from logger provided with Provider class and useClass');
logger.log('Hello from logger provided with Provider class and useClass');
log = logger.logs[0];
}
}
Expand Down Expand Up @@ -75,8 +74,7 @@ class ProviderComponent4 {
String log;

ProviderComponent4(Logger logger) {
logger
.log('Hello from logger provided with useClass:BetterLogger');
logger.log('Hello from logger provided with useClass:BetterLogger');
log = logger.logs[0];
}
}
Expand All @@ -100, 10000 10 +98,7 @@ class EvenBetterLogger implements Logger {
// #enddocregion EvenBetterLogger
@Component(selector: 'provider-5', template: '{{log}}', providers:
//#docregion providers-5
const [
UserService,
const Provider(Logger, useClass: EvenBetterLogger)
]
const [UserService, const Provider(Logger, useClass: EvenBetterLogger)]
//#enddocregion providers-5
)
class ProviderComponent5 {
Expand Down Expand Up @@ -139,8 +134,7 @@ class ProviderComponent6a {

ProviderComponent6a(NewLogger newLogger, OldLogger oldLogger) {
if (identical(newLogger, oldLogger)) {
throw new Exception(
'expected the two loggers to be different instances');
throw new Exception('expected the two loggers to be different instances');
}
oldLogger.log('Hello OldLogger (but we want NewLogger)');
// The newLogger wasn't called so no logs[]
Expand All @@ -165,8 +159,7 @@ class ProviderComponent6b {

ProviderComponent6b(NewLogger newLogger, OldLogger oldLogger) {
if (!identical(newLogger, oldLogger)) {
throw new Exception(
'expected the two loggers to be the same instance');
throw new Exception('expected the two loggers to be the same instance');
}
oldLogger.log('Hello from NewLogger (via aliased OldLogger)');
log = newLogger.logs[0];
Expand All @@ -175,17 +168,16 @@ class ProviderComponent6b {

// #docregion silent-logger
// An object in the shape of the logger service
class SilentLogger /*implements Logger*/ {
const SilentLogger({this.logs});
class SilentLogger {
final List<String> logs = const [
'Silent logger says "Shhhhh!". Provided via "useValue"'];

final List<String> logs;
const SilentLogger();

log(String message) {}
void log(String msg) {}
}

const silentLogger = const SilentLogger(logs: const [
'Silent logger says "Shhhhh!". Provided via "useValue"'
]);
const silentLogger = const SilentLogger();
// #enddocregion silent-logger

@Component(selector: 'provider-7', template: '{{log}}', providers:
Expand All @@ -207,14 +199,11 @@ class ProviderComponent7 {
}
}

@Component(
selector: 'provider-8',
template: '{{log}}',
providers: const [
const Provider(HeroService, useFactory: heroServiceFactory),
Logger,
UserService
])
@Component(selector: 'provider-8', template: '{{log}}', providers: const [
const Provider(HeroService, useFactory: heroServiceFactory),
Logger,
UserService
])
class ProviderComponent8 {
// #docregion provider-8-ctor
ProviderComponent8(HeroService heroService);
Expand Down Expand Up @@ -267,9 +256,7 @@ class ProviderComponent9a implements OnInit {

@Component(selector: 'provider-9b', template: '{{log}}', providers:
// #docregion providers-9b
const [
const Provider(APP_CONFIG, useValue: CONFIG_HASH)
])
const [const Provider(APP_CONFIG, useValue: CONFIG_HASH)])
// #enddocregion providers-9b
class ProviderComponent9b implements OnInit {
Config _config;
Expand Down Expand Up @@ -303,6 +290,13 @@ class ProviderComponent10a {
}
}

class DoNothingLogger extends Logger {
log(String msg) {
logs.add(msg);
}
List<String> logs;
}

// Optional logger
@Component(selector: 'provider-10b', template: '{{log}}')
class ProviderComponent10b implements OnInit {
Expand All @@ -318,12 +312,11 @@ class ProviderComponent10b implements OnInit {
// #docregion provider-10-logger
// No logger? Make one!
if (_logger == null) {
_logger = new Logger();
_logger = new DoNothingLogger();
// #enddocregion provider-10-logger
_logger.log('Optional logger was not available.');
_logger.log('Nothing to see here.');
} else {
_logger.log('Hello from the injected logger.');
log = _logger.logs[0];
}
log = _logger.logs[0];
}
Expand Down
0