Node.js 将数据从父对象传递到子对象4
我有一些一般性的问题,我从Node.js 将数据从父对象传递到子对象4,node.js,mongodb,angular,binding,Node.js,Mongodb,Angular,Binding,我有一些一般性的问题,我从main.ts 通过onInit我从mongoose数据库服务器获取数据,并将其保存在一个数组中 此阵列需要在其他组件中可用。我现在这样做的方式,通过使用service.ts 在这项服务中,我有很多行为主题和主题。因此,每当我从mongoose获取阵列数据时,我都会向服务发送一条消息,其他组件订阅该消息 我有时使用Subject而不是BehaviorSubject,因为它抛出错误消息,就像我使用的HTML中的*ngFor一样,它需要一个数组,而不是字符串“default
main.ts
通过onInit
我从mongoose数据库服务器获取数据,并将其保存在一个数组中
此阵列需要在其他组件中可用。我现在这样做的方式,通过使用service.ts
在这项服务中,我有很多行为主题
和主题
。因此,每当我从mongoose获取阵列数据时,我都会向服务发送一条消息,其他组件订阅该消息
我有时使用Subject
而不是BehaviorSubject
,因为它抛出错误消息,就像我使用的HTML中的*ngFor
一样,它需要一个数组,而不是字符串“defaultmessage”
我只是想知道这是否是在页面之间移动数据的正确设置。
现在我也在使用这个消息系统更新我的组件。
因此,如果有人在我的网站上发表评论或帖子,我会向我的服务发送一条消息,这条消息反过来会更新一个可观察的内容,我的组件会再次订阅该内容
是否有更好的方法更新我的站点以获取新数据,是否有简单的方法解释为什么有时我从*ngFor
收到此错误消息,在其他情况下,它不会在仍然使用*ngFor
时抛出此错误
i、 e.当我更新一个可观察组件时,组件会立即接收到消息还是会接收到onInit
还有一个问题是,在组件的构造函数中使用下面的命令或是onInit
命令是否是最佳做法。
我取消订阅OnDestroy
this.newService.currentMessageComment
.takeWhile(() => this.alive)
.subscribe(message => {
服务台
public messageSourceMarketCap = new BehaviorSubject<any>('default message');
currentMessageMarketCap = this.messageSourceMarketCap.asObservable();
public messageSourceHistory = new Subject<any>();
currentMessageHistory = this.messageSourceHistory.asObservable();
public messageSouceApi = new BehaviorSubject<any>('default message');
currentMessageApi = this.messageSouceApi.asObservable();
public messageSourceBody = new BehaviorSubject<any>('default message');
currentMessageBody = this.messageSourceBody.asObservable();
public messageSourceMarketCap=new BehaviorSubject(“默认消息”);
currentMessageMarketCap=this.messageSourceMarketCap.asObservable();
public messageSourceHistory=新主题();
currentMessageHistory=this.messageSourceHistory.asObservable();
public messageSouceApi=new BehaviorSubject(“默认消息”);
currentMessageApi=this.messageSouceApi.asObservable();
public messageSourceBody=new BehaviorSubject(“默认消息”);
currentMessageBody=this.messageSourceBody.asObservable();
为什么要使用BehaviousSubject。我想你的情况会更好。BehaviousSubject适合在创建observable时传递初始值的情况
您还可以通过发出一个空数组来快速修复,因为ngFor需要一个数组。从“默认消息”更改为[]
希望它能有所帮助因此,现在我在一个组件中订阅了多条消息,这是正确的方式,还是重用消息系统是正常的。或者我只在更新相同的变量时才重用消息系统?重用性是更好的选择,但这取决于您的用例。编写程序时一定要记住,如果消息系统中引入了新功能,那么它是可以维护的。