序文: コンポーネントのテンプレートの一部が論理的にはそのコンポーネントに属している場合もありますが、技術的な観点からは、テンプレートのこの部分を Vue アプリ外の シナリオ例:クリックするとモーダルダイアログボックスを開く このモーダル ダイアログ ボックスのビジネス ロジックの場所は間違いなくこの これにより問題が発生します。コンポーネントの論理的な位置が これまでの 1. テレポートの使用使い方は非常に簡単です。コンポーネントを目的の位置にレンダリングするには、to 属性を使用するだけです。 // body タグにレンダリングします <teleport to="body"> <div class="modal"> 私はテレポートしたモーダルです! </div> </テレポート> 以下も使用できます: <teleport to="#some-id" /> <teleport to=".some-class" /> <teleport to="[data-teleport]" /> 有効なクエリセレクターまたは さらに遠く 2. モーダルダイアログコンポーネントを完成させるでは、標準のモーダルダイアログボックスをカプセル化してみましょう <テンプレート> <テレポート先="body"> <トランジション名="ダイアログフェード"> <div class="dialog-wrapper" v-show="visible"> <div class="ダイアログ"> <div class="ダイアログヘッダー"> <スロット名="タイトル"> <span class="ダイアログタイトル"> {{ タイトル }} </span> </スロット> </div> <div class="ダイアログボディ"> <スロット></スロット> </div> <div class="ダイアログフッター"> <スロット名="フッター"> <button @click="onClose">閉じる</button> </スロット> </div> </div> </div> </トランジション> </テレポート> </テンプレート> <スクリプト> 'vue' から defineComponent をインポートします。 エクスポートデフォルトdefineComponent({ 名前: 'tdialog' }); </スクリプト> <スクリプトの設定> const props = defineProps({ タイトル: 文字列、 表示: ブール値 }); const 出力 = defineEmits(['close']); 定数 onClose = () => { 出力('閉じる'); }; </スクリプト> 使用する際は、 <t-dialog title="LGD は無敵です" :visible="visible" @close="onClose"> これはコンテンツの一部です、Xiaose Xianbei。 </t-ダイアログ> // ... const 可視 = ref(false); 定数onDialog = () => { 表示される値 = !表示される値; }; 定数 onClose = () => { 表示値 = false; }; さらに一歩進んで 3. コンポーネントのレンダリング上記で、標準のモーダル ダイアログ コンポーネントが完成しました。少量のテキストのみを表示する、同様の軽量プロンプト コンポーネント 上記の例では、 // プロンプトを呼び出します Message({ message: 'This is a Message' }); 関数を使用して呼び出す場合は、この関数を準備する必要があります。この関数の機能は、コンポーネントのレンダリングを完了することです。 const メッセージ = オプション => { // コンテナをレンダリングする準備をする const container = document.createElement('div'); // vnode を生成する const vnode = createVNode(メッセージコンストラクタ、オプション); // レンダリングレンダー(vnode, コンテナ); };
<テンプレート> <テレポート先="#app"> <transition name="メッセージフェード"> <div v-show="visible" ref="ins" class="message" :style="customStyle">{{ メッセージ }}</div> </トランジション> </テレポート> </テンプレート> オンライン体験 コードを表示 要約: 以上が、私たちに多くの利便性を提供してくれる 以下もご興味があるかもしれません:
|
<<: スライドドアを実装するための CSS サンプルコード
>>: dockerコンテナにviコマンドをインストールする簡単な操作
問題の説明: Linux システムのネットワーク カード ファイル /etc/sysconfig/n...
主キーとは何ですか?主キーは、テーブル内の各タプル (行) を一意に識別するテーブル内の列です。主キ...
今日、入力イベントに関するブログ投稿を見て、気まぐれで関連情報を整理してみました。イベント:関数 c...
Docker システムの学習チュートリアルでは、Dockerfile を使用して Docker イメ...
この記事ではUbuntuでC++インターフェースを使用してopencvをインストールする方法について...
v-model は、入力とフォーム データ間、または 2 つのコンポーネント間の双方向データ バイ...
XML/HTML コードコンテンツをクリップボードにコピー< div クラス= "c...
あなたがlinuxerだと仮定すると、 windowserだとは想定しません。Windows ユーザ...
目次まずページレイアウトを構築する必要がありますJS関数1 JS関数2 JS関数3 JS関数4効果図...
zip インストール パッケージをダウンロードします。 MySQL8.0 For Windows z...
目次1. 概要1.1 querySelector() と querySelectorAll() の使...
httpsを取得する方法を勉強しています。最近、Tencent Cloud が提供する無料の SSL...
目次1. Nginxは負荷分散の原則を実装する2. Nginxの動的および静的分離の原則Nginx ...
デザイナーは独自のフォント ライブラリを持っているため、プロジェクトの設計時にすぐに使用できます。今...
この記事では、時間範囲効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します...