跳到内容

useSubject

类别
导出大小
257 B
@vueuse/rxjs
最近更改
3 周前

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

源码

源码演示文档

贡献者

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

更新日志

v12.0.0-beta.1 于 2024/11/21
0a9ed - feat!: 移除 Vue 2 支持,优化 bundles 并清理 (#4349)

在 MIT 许可证下发布。