useSubject
将 RxJS Subject
绑定到 ref
并双向传播值的变化。
演示
可在 @vueuse/rxjs 附加组件中获得。用法
ts
import { useSubject } from '@vueuse/rxjs'
import { Subject } from 'rxjs'
const subject = new Subject()
// setup()
const subjectRef = useSubject(subject)
如果你想为一个可能出错的 Subject 添加自定义错误处理,你可以提供一个可选的 onError
配置。如果没有这个配置,RxJS 会将提供的 observable 中的任何错误视为“未处理的错误”,并会在新的调用堆栈中抛出,并报告给 window.onerror
(如果你在 node 中,则是 process.on('error')
)。
ts
import { useSubject } from '@vueuse/rxjs'
import { Subject } from 'rxjs'
const subject = new Subject()
// setup()
const subjectRef = useSubject(subject, {
onError: (err) => {
console.log(err.message) // "oops"
},
},)
类型声明
ts
export interface UseSubjectOptions<I = undefined>
extends Omit<UseObservableOptions<I>, "initialValue"> {}
export declare function useSubject<H>(
subject: BehaviorSubject<H>,
options?: UseSubjectOptions,
): Ref<H>
export declare function useSubject<H>(
subject: Subject<H>,
options?: UseSubjectOptions,
): Ref<H | undefined>