角度rxjs订阅[重复]
Posted
技术标签:
【中文标题】角度rxjs订阅[重复]【英文标题】:angular rxjs subscriptions [duplicate] 【发布时间】:2021-10-17 18:59:06 【问题描述】:我在 Angular 中这样声明订阅:
counterSubscription: Subscription
它给了我这个错误:
属性“counterSubscription”没有初始化器,也没有在构造函数中明确赋值。
请问Subscription
的初始值是多少?
【问题讨论】:
undefined
?还是null
?
最后加一个分号。它应该给出一个错误。
counterSubscription!: Subscription;
你可以使用它并在 ngOnInit() 中初始化订阅。我建议直接使用counterSubscription = new Subscription();
,而不是在 ngOnInit() 中初始化它。这可以减少您的代码。
【参考方案1】:
如果您在 Angular 生命周期挂钩中初始化订阅,例如 ngOnInit
,您可以使用 Definite Assignment Assertion Operator
!
通知 TypeScript 该变量将被初始化。
counterSubscription!: Subscription;
【讨论】:
【参考方案2】:您还可以将strictPropertyInitialization: false
规则添加到您的tsconfig.json
以禁用此行为。
【讨论】:
以上是关于角度rxjs订阅[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Angular 7 rxjs BehaviorSubject 发出重复值
打字稿错误:模块'“.../node_modules/rxjs/Rx”'没有导出的成员'SubscriptionLike' [重复]