跳到主要内容

useSubject

分类
导出大小
257 B
@vueuse/rxjs
上次更改
8 个月前

将 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>

来源

源代码演示文档

贡献者

Anthony Fu
Anthony Fu
SerKo
Robin
Curt Grimes
Vincent Schramer
Jiří Peterek

更新日志

0a9ed - feat!: 放弃对 Vue 2 的支持,优化打包并清理 (#4349)

根据 MIT 许可证发布。