我的效果在出错时,调用服务中的方法来显示对话。当对话完成时,它会将结果放入可观察的。
我有一个组件正在监听该服务中的可观察内容。问题是,组件第一次侦听服务,然后什么也听不到。
我正在设置该主题以避免收到错误消息,即第一次this.errorService.errorExist$没有返回任何内容。
错误服务
private errorExist = new Subject<boolean>();
errorExist$ = this.errorExist.asObservable();
constructor(public dialog: MatDialog) {
this.errorExist.next(false);
}
handleError() {
const dialogRef = this.dialog.open(ConfirmDialogComponent, {
data: {
title: 'Error Occurred',
btn: 'OKAY'
}
});
dialogRef.afterClosed().pipe(take(1)).subscribe( (result: boolean) => {
console.log('inside the closed and result is: ', result);
if (result) {
this.errorExist.next(true);
}
});
}
成分
constructor(errorService: ErrorService) { }
private subscribeToError() {
this.errorService.errorExist$.pipe(takeUntil(this.destroyed$)).subscribe((x: boolean) => {
console.log('this does not print');
if (x) {
}
}
}
我会推荐rxjs库。
将错误存在者的主题更改为行为主题。
行为主体就是这样一个可以多次听的主体,也有一个起始值。
我有一个包含复杂输入(一些图表数据)的子组件。在获得 API 响应后,我通过 Angular 5 中的 @Input() 装饰器从父组件发送此图表数据。因此,每次在父组件上更改图表时,我都需要根据API响应同步图表,因此,OnChange生命周期。但不幸的是,我无法让它正常工作。我尝试使用基本数字类型设置虚拟输入字段并递增它,但徒劳无功。这是我的实现: 子图表组件: 父组件html: 父组件: P
问题内容: 我正在尝试在应用程序中使用AngularJS,并在某种程度上取得了成功。 我能够获取数据并将其显示给用户。我有一个按钮,我想通过该按钮发布DELETE请求。下面是我的代码。 这是获取信息并将其显示给用户的功能。 数据已获取并正确显示。 但是,单击删除按钮后,不会触发其中的代码。在GoogleChrome浏览器的开发人员工具中,我可以看到为代码生成了有效值,但未触发代码。从我尝试去掉花括
问题内容: 慧 我正在服务器端使用angular.js和node.js(Express.js)构建一个应用程序。 由于某些原因,我在处理删除请求时遇到问题。没有人会进入服务器端。 这是我的angular.js资源代码: 在服务器端,我有这个: 现在由于某种原因根本没有身体!它是空的。我已将路线定义为app.delete。 如果我将node.js中的路由更改为post,将其更改为angular.js
我的组件具有以下功能: 我可以在我的html页面中插入选择菜单,但更改事件不会在我选择项目时触发。有人能让我知道为什么会发生这种情况吗? 谢谢
我有一项定制技能,可以调用我创建的web服务。我可以启动并获得其他意图,但当我的技能用户更改通知权限时,我不会收到通知。我需要通知事件来获取用户id,以便稍后通过其他服务发送推送通知。 下面是我的json文件: 下面是启动请求:我截断了应用程序ID、用户ID、同意令牌、设备ID、apiAccessToken {“version”:“1.0”,“session”:{“new”:true,“sessi
问题内容: 我已经看到angular.factory()和angular.service()都用于声明服务;但是,我在官方文档中找不到 任何地方。 两种方法有什么区别? 应该使用哪个(假设他们做不同的事情)? 问题答案: 直到我以这种方式对自己说: 服务 :您编写的 函数 将是 新的 -ed: Factory* :将 调用 您编写的 函数 (构造函数): * 您可以根据自己的意愿进行操作,但是有一