跳到主要內容

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 許可證下發布。