序文: コンポーネントのテンプレートの一部が論理的にはそのコンポーネントに属している場合もありますが、技術的な観点からは、テンプレートのこの部分を 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コマンドをインストールする簡単な操作
MySQL InnoDB 監視 (システム層、データベース層) MySQL の監視に関しては、My...
前面に書かれた最近、Mycat で特別なトピックを書いています。最近、多くの友人が面接に出かけている...
<br />インターネットは絶えず変化しており、BusinessWeek.com は専門...
最初のステップ組み込みのパッケージ管理機能で一度削除する yum 削除 nodejs npm -y ...
目次トピックmysqlの追加、削除、変更、クエリを入力しますMySQL トランザクション処理私は M...
VMware が異常シャットダウンした後、再起動すると「この構成ファイルを排他的にロックできませんで...
Anaconda は、大規模なデータ処理、予測分析、科学計算のための最も人気のある Python デ...
1. MariaDB と MySQL の紹介1. MariaDB の紹介MariaDB は、MySQ...
目次まず結論から質問解決Promiseを使用してコールバック関数をカプセル化する要約するまず結論から...
序文Linux のファイルまたはディレクトリの権限については、共通の rwx 権限を知っておく必要が...
序文以前、rem適応についての記事を書きましたが、具体的なパッケージは紹介しませんでした。今日は、よ...
CUDA インストール cuda をダウンロードサポートされているcudaバージョンを表示するには...
1. mysqlコマンドをインポートするmysql コマンドのインポート構文は次のとおりです。 my...
コンテンツを携帯電話、タブレット、支援技術のユーザーから非表示にし、キーボードのユーザーにのみ表示す...
<br />これは私がずっと前に集めた記事です。皆さんの参考のために共有したいと思います...