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"
},
},)
类型声明
typescript
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>
源码
贡献者
更新日志
v12.0.0-beta.1
于 2024/11/21