我想在每次更改角度视图后更新一个变量。
如何在不使用@input
装饰器的情况下以角度实现?
如果你的变量title
在你的组件中被调用,那么你可以这样做:
this.title.valueChanges
.debounceTime(500)
.distinctUntilChanged()
.subscribe (newValue => {
// do something based on the newvalue
});
但是,您现在有一个订阅者,每次标题更改时都会触发该订阅者。所以你真的应该在某个时候销毁它,否则你会得到内存泄漏/堆栈溢出,例如:
this.title.valueChanges
.debounceTime(500)
.distinctUntilChanged()
.takeUntil(this.destroyValueChanges$)
.subscribe (newValue => {
// do something based on the newvalue
});
DelcaredestroyValueChanges$
作为Subject
组件的属性并在ngOnDestroy
调用中destroyValueChanges$.next();
笔记
由于您没有发布任何代码,我不得不猜测您在问什么。我假设标题是<input>
您的模板上的一个,用户正在其中输入,因此这就是值的变化方式。如果您正在谈论的变量在您的组件“外部”被更改,那么它需要有一个 @Input 装饰器,并且您需要使用 ngOnChanges 生命周期挂钩。