Мне интересно, возможно ли частично использовать асинхронный канал, в то время как я использую строчку ngrx.
Например,
// ts file
this.name$ = this.store.pipe(
select(SOME.STATE),
map((item) => {
return item.name;
})
)
// html file
<p>{{name$ | async}}</p>
Все просто, но что, если мне нужно
// ts file
this.store.pipe(
select(SOME.STATE),
)
.subscribe(item => {
this.name = item.name;
this.age = item.age // <-
})
someMethod() {
const age = this.age;
// ...some processes using 'age' data which from store
}
// html file
<p>{{name}}</p>
Как и выше, если у меня есть несколько данных, и мне нужно выполнить какой-то пост-процесс (например, someMethod()
), я не уверен, как обрабатывать асинхронный канал.
Больше нет асинхронного канала, что означает, что мне нужно unsubscribe
вручную, чтобы получить более подробный код.
Я пробовал ниже
// ts file
this.name$ = this.store.pipe(
select(SOME.STATE),
map((item) => {
return item.name;
})
)
this.store.pipe(
select(SOME.STATE),
)
.subscribe(item => {
this.age = item.age
})
someMethod() {
const age = this.age;
// ...some processes using 'age' data which from store
}
// html file
<p>{{name$ | async}}</p>
Работаю, но мне интересно, есть ли лучший способ.
Спасибо.