gpt4 book ai didi

angular - 在Dart Angular2中,如何根据事件组件更新网站标题?

转载 作者:行者123 更新时间:2023-12-03 02:57:11 27 4
gpt4 key购买 nike

我正在构建一个Angular2 / Dart应用程序,在该应用程序中,我想根据 Activity 组件更改页面标题。

我找到了一个基于rxjs Subject as explained here的答案。在不使用rxjs Subject作为Observable的情况下如何实现相同的目的,或更具体地说,是否有其他方法可以直接在angular2-dart中做到这一点?

这是基于rxjs Subject lib的working plunker

<h1>{{componentTitle}}<h1>

最佳答案

在Dart中,您使用StreamStreamController而不是ObservableSubject:

@Injectable()
export class RouteNames{
StreamController<String> _nameController = new StreamController<String>();
String get name => _nameController.stream;

void newName(String name) => _nameController.add(name);
}

那么您可以像这样订阅:
AppComponent(this._routeNames){
_routeNames.name.listen((n) => this.routeName = n);
}

更新可以像这样发送:
HeroListComponent(
this._service,
this._router,
this._routeParams,
this._routeNames:RouteNames){
this._selectedId = +routeParams.get('id');
_routeNames.newName('Heroes');
}

为了支持多个订户,您需要使流成为广播流:
@Injectable()
export class RouteNames{
StreamController<String> _nameController = new StreamController<String>.broadcast();

public get name => _nameController.stream;

newName(String name) => _nameController.add(name);
}

关于angular - 在Dart Angular2中,如何根据事件组件更新网站标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38441503/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com