我正在读
tutorial
是的。
例1:
lib/src/hero_search_component.dart
class HeroSearchComponent implements OnInit {
HeroSearchService _heroSearchService;
Router _router;
Stream<List<Hero>> heroes;
StreamController<String> _searchTerms =
new StreamController<String>.broadcast();
HeroSearchComponent(this._heroSearchService, this._router) {}
// Push a search term into the stream.
void search(String term) => _searchTerms.add(term);
Future<Null> ngOnInit() async {
heroes = _searchTerms.stream
.transform(debounce(new Duration(milliseconds: 300)))
.distinct()
.transform(switchMap((term) => term.isEmpty
? new Stream<List<Hero>>.fromIterable([<Hero>[]])
: _heroSearchService.search(term).asStream()));
}
}
lib/src/dashboard_component.html
<h3>Top Heroes</h3>
<div class="grid grid-pad">
<a *ngFor="let hero of heroes" [routerLink]="['HeroDetail', {id: hero.id.toString()}]" class="col-1-4">
<div class="module hero">
<h4>{{hero.name}}</h4>
</div>
</a>
</div>
<hero-search></hero-search>
我很困惑
StreamController
作品。我有几个问题:
1,英寸
void search(String term) => _searchTerms.add(term);
,一个术语被添加到
_searchTerms
,这是一个
流量控制器
,不是
Stream
.我说得对吗?
2,那个
heroes
在里面
<a *ngFor="let hero of heroes">
是
Stream<List<Hero>> heroes
是吗?
三,
英雄
在中初始化
ngOnInit()
以及
stream
分配给
英雄
是的。我不明白
英雄
已更新。有人能给我解释一下这个过程吗?
4,我也在读
Custom events
中的会话
https://webdev.dartlang.org/angular/guide/template-syntax
是的。
代码如下。(例2)
final _deleteRequest = new StreamController<Hero>();
@Output()
Stream<Hero> get deleteRequest => _deleteRequest.stream;
void delete() {
_deleteRequest.add(hero);
}
<hero-detail (deleteRequest)="deleteHero($event)" [hero]="currentHero"></hero-detail>
在上面的代码中,
hero
添加到
_deleteRequest
是的。
deleteRequest
是自定义事件,它被触发并
$event
传递给
deleteHero()
功能。
$事件
只是
英雄
是的。我说得对吗?我能考虑一下吗
删除请求
成为
event
是吗?
5,在第一个示例中,property
英雄
连接到流。在第二个例子中,流是
bind
参加一个活动
删除请求
是的。我说得对吗?
欢迎任何暗示。谢谢