我想知道是否有一种简单的方法可以找出,我是否正在处理一个行为主体的初始值,或者它是否已经被"下一步"改变了。
BehaviourSubject
没有这样的字段。但是你自己定义它很简单。
const yourSubject$<string> = new BehaviourSubject('test');
let subjectChanged = false;
yourSubject
.pipe(
distinct(), // if you want to ignore same values
skip(1), // ignore the initial value
take(1), // only take one change
)
.subscribe(() => subjectChanged = true);
一个具有其他值的发射将导致subjectChanged
切换到true
。