[英]How can I set a default value for an undefined key in an Observable object without a Proxy?
我有一個可觀察的
someObjs$ = this.getData().pipe(
map((data: Data) => ({
a: true,
b: true,
c: true,
})
),
如果用戶在某處設置的標志為false,那么即使將Observable展開到模板中后,即使該鍵不存在,我也希望始終將其返回true。
例,
someObj$ | async as obj
{{ obj['d'] }} // true
我不確定是否要使用任何鍵( obj['foo']
, obj['bar']
或預定義鍵obj['d']
但我假設使用預定義鍵。
您可以在pipe
方法中使用startWith
運算符。 創建一個新的Data
實例,並使用spread( ...
)運算符分配d
屬性。
const newData = new Data();
someObjs$ = this.getData().pipe(
startWith({...newData, d: true}),
map((data: Data) => ({
a: true,
b: true,
c: true,
})
)
或者在Data
類中,您可以分配默認值。 然后,您將不需要傳播運算符。 您可以將startWith
與默認Data
實例一起使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.