テンプレートの状態

Vueのステートとメソッド — 反応性 ch オブジェクトおよび利用可能なテンプレートメソッド。

関連項目: テンプレートのマークアップと構造|スタイル設定とCSS変数

この待合室テンプレートは、次のような単一のリアクティブな Vue 3 オブジェクトによって動作しています。 ch. このオブジェクトには、キューの状態(位置、推定待機時間、カウントダウンタイマー、フォームデータ、機能フラグなど)がすべて格納されており、アプリケーションが CrowdHandler API をポーリングするたびに自動的に更新されます。これらの状態を自分で管理する必要はなく、標準の Vue ディレクティブを使用してそのプロパティにバインドするだけで済みます(v-if, v-else, {{ }} 補間、 :style、など)を使用すると、テンプレートは変更にリアルタイムで反応します。例えば、 ch キューの現在の状態を表す、読み取り専用のデータAPIとして。

状態オブジェクト

主要な状態: ch

物件 種類 説明
ch.isLoaded ブール値 true 初期データが読み込まれたとき
ch.isActive ブール値 true ユーザーがアクティブキューにいるとき
ch.isCountdown ブール値 true キューがまだ開いていない場合
ch.isBlocked ブール値 true ユーザーがブロックされた場合
ch.isRoomFull ブール値 true キューが満杯のとき
ch.isError ブール値 true エラーが発生したとき
ch.captchaRequired ブール値 true キャプチャの入力が必須となる場合
ch.position 数値 | null 現在のキュー内の位置(1から始まる)。 null チェックインの際
ch.estimate 数値 | null 推定待ち時間(分)
ch.eta 文字列 | null 到着予定時刻(書式付き時刻文字列)
ch.title 文字列 イベント/会場名
ch.message 文字列 ルーム設定からのカスタムメッセージ
ch.logo 文字列 ロゴ画像のURL
ch.stock 数値 | null 在庫状況(構成済みの場合)
ch.onsale 文字列 キューの受付開始日(ISO日付)
ch.requested 文字列 最後のAPIリクエストのタイムスタンプ
ch.sessionsExpire 番号 セッションの有効期限があるかどうか(0以外 = true)
ch.sessionsTimeout 番号 セッションのタイムアウトまでの残り時間(分)
ch.emailAvailable 番号 メール通知が有効かどうか(0以外=true)
ch.お知らせ 文字列 スクリーンリーダーの読み上げ用テキスト
ch.progress 番号 進行状況バーのパーセンテージ(0~100)
ch.nextPoll 番号 前回の投票からの経過秒数
ch.pollTTL 番号 現在のポーリング間隔(秒単位)(デフォルトは60、変更可能)
ch.css.title 文字列 動的なタイトルサイズクラス ("", "ch-title-lg"、または "ch-title-xl")

トークンの状態: ch.token

物件 種類 説明
ch.token.value 文字列 | null トークンの全額
ch.token.obfuscated 文字列 | null 表示用に一部非表示にしたトークン
ch.token.copied ブール値 true ユーザーがトークンをコピーした直後
ch.token.copy(event, ch) 関数 トークンをクリップボードにコピーする

メールの状態: ch.email

物件 種類 説明
ch.email.value 文字列 入力されたメールアドレス
ch.email.valid ブール値 メールの形式が有効かどうか
ch.email.submitted ブール値 メールの送信に成功したかどうか
ch.email.submitting ブール値 true 提出中
ch.email.changing ブール値 true ユーザーが以前に送信したメールアドレスを変更する場合

優先度コードの状態: ch.priority

物件 種類 説明
ch.priority.available 数値 | null 優先度コードが有効か(0以外 = 有効)
ch.priority.code 文字列 | null 優先権コードを入力しました
ch.priority.valid ブール値 | null コードの書式が有効かどうか
ch.priority.submitted ブール値 コードが提出されたかどうか
ch.priority.submitting ブール値 true 提出中
ch.priority.success ブール値 true コードが承認された場合
ch.priority.error ブール値 true コードが却下された場合

カウントダウン状態: ch.countdown

以下の場合に利用可能です ch.isCountdown は正しい。

物件 種類 説明
ch.countdown.sHours 文字列 時間、先頭にゼロを埋めた形式(「02」)または「--」をinitの前に指定
ch.countdown.sMinutes 文字列 minutes、先頭にゼロを埋めた形式(「05」)または「--」を init の前に付ける
ch.countdown.sSeconds 文字列 init の前に秒数、先頭ゼロ埋め(「30」)または「--」を指定
ch.countdown.hours 番号 数値としての時間
ch.countdown.minutes 番号 数字としての議事録
ch.countdown.seconds 番号 秒を数値として
ch.countdown.totalseconds 番号 残り合計秒数

利用可能な方法

方法 説明
validateEmail() メールアドレスの形式を検証し、更新します ch.email.valid
submitEmail() 通知用のメールアドレスを登録する
changeEmail() 「メールアドレスの変更中」の状態になる
cancelChangeEmail() メールアドレスの変更をキャンセルし、確認画面に戻ります
checkValidPriorityCode() 優先順位コードの形式を検証します
prioritySubmit() 優先順位コードを送信する
formatDate(date, format) 日付文字列をフォーマットします(以下を参照)。

formatDate のオプション

formatDate(ch.requested, 'toLocaleString')      // "2026年1月27日 午後2時30分00秒"
formatDate(ch.requested, 'toLocaleDateString')   // "1/27/2026"
formatDate(ch.requested, 'toLocaleTimeString')   // "2:30:00 PM"
formatDate(ch.requested, 'dayMonth')             // "1月27日"
formatDate(ch.requested, 'weekdayMonthDay')      // "1月27日(火)"
formatDate(ch.requested, 'iso')                  // "2026-01-27T14:30:00.000Z"
formatDate(ch.requested, 'YYYY-MM-dd HH:mm:ss') // "2026-01-27 14:30:00"