スロットとは何ですか?スロット ディレクティブは v-slot であり、現在 slot と slot-scope、スロット コンテンツ、vue インスタンス、コンテンツ配信 API のセットを置き換え、配信されたコンテンツを運ぶための出口としてスロット要素を使用します。 スロットは、単一スロット、名前付きスロット、スコープ付きスロットに分けられます。最初の 2 つは比較的単純なので、ここでは説明しません。今日は、スコープ付きスロットについて説明します。 ここではVUEのコンパイルスコープとスロットスコープについて紹介します。見てみましょう! 実際、コンポーネントが多数ある場合、コンポーネント内で変数を使用すると、変数のスコープは、それが定義されているコード内で実際に見つかります。見つからない場合は、エラーが報告されます。[これは非常に基本的なことで、誰でもわかります] 正式には、親コンポーネント テンプレート内のすべてが親スコープでコンパイルされ、子コンポーネント テンプレート内のすべてが子スコープでコンパイルされます。 次の例はこれを完璧に示しています。 スコープ付きスロットは理解するのが難しい点なので、注意深く理解する必要があります。 次に、ソフトウェアの要件について説明します。 サブコンポーネントにはデータのセットがあります。たとえば、pLanguages: ['JavaScript', 'Python', 'Swift', 'Go', 'C++'] です。これをサブコンポーネントのスロットに配置し、一部にはリスト表示、一部には - リンク、一部には * リンクを付けます。 まずソース コードを見てみましょう (スロットは使用されず、ハードコードされており、このコードではスロット スコープを使用するように書き直されています)。 ソースコード: <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <title>ショッピングカート</title> <script src="js/vue.js"></script> </head> <本文> <!-- 未使用スロットの下のテンプレートはハードコードされています --> <テンプレートid="cpn"> <div> <ul> <li v-for="pLanguages のアイテム">{{item}}</li> </ul> </div> </テンプレート> <div id="アプリ"> <cpn></cpn> </div> <スクリプト> constアプリ = 新しいVue({ el: "#app", コンポーネント: 'cpn': { テンプレート: "#cpn", データ() { 戻る { 言語: ['JavaScript'、'Python'、'Swift'、'Go'、'C++'] } } } } }) </スクリプト> </本文> </html> したがって、スロットを使用する場合は、 <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <title>ショッピングカート</title> <script src="js/vue.js"></script> </head> <本文> <!-- スロットが使用され、スロットのデフォルト値が以下のように設定されます --> <テンプレートid="cpn"> <div> <スロット> <!-- 変更済み --> <ul> <li v-for="pLanguages のアイテム">{{item}}</li> </ul> </スロット> </div> </テンプレート> <div id="アプリ"> <cpn></cpn> <!-- デフォルトの値リスト形式を使用します --> <cpn> <!-- 変更済み --> <!-- 問題はここにあります。cpn コンポーネントのデータ内のデータをリンクの形で表示したいのですが、それができません。 スコープのため、ここでのスコープは Vue インスタンス アプリです。 Vueインスタンスアプリのデータのみ取得可能です! したがって、次のコードは間違っています。 ! ! では、スロット コードが子コンポーネントからデータを取得する問題をどのように解決するのでしょうか? --> <span v-for="pLanguages 内の項目">{{項目 + "-"}}</span> </cpn> </div> <スクリプト> constアプリ = 新しいVue({ el: "#app", コンポーネント: 'cpn': { テンプレート: "#cpn", データ() { 戻る { 言語: ['JavaScript'、'Python'、'Swift'、'Go'、'C++'] } } } } }) </スクリプト> </本文> </html> コードは詳細に説明されており、問題点はマークされています。要約すると、次のようになります。 サブコンポーネントの範囲内ではないので、サブコンポーネントでスロット コードがデータを取得する問題をどのように解決すればよいでしょうか? 解決策: スロットスコープスロットを使用する VUE のコンパイル スコープとスロット スコープに関するこの記事はこれで終わりです。より関連性の高い vue スコープ スロット コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: mysql-8.0.17-winx64 のデプロイメント方法
>>: yum 経由で CentOS に PHP をインストールするチュートリアル
序文ページの HTML 構造にネストされたボックスが多数含まれている場合、ページに複数の垂直スクロー...
この記事では、次のような効果を持つ JS ページング効果の例を紹介します。クールだと思いませんか? ...
場合によっては、ページにプロンプト ボックスやバブル ボックスが必要になることがあります。CSS...
序文JavaScript を学習した人なら誰でも、さまざまな環境で this がどこを指すかという問...
ハッシュ結合ハッシュ結合は実行にインデックスを必要とせず、ほとんどの場合、現在のブロックネストループ...
Docker は、安全で繰り返し可能な環境でソフトウェアを自動的にデプロイする方法を提供し、コンピュ...
目次需要背景思考分析UI 表示始める1. 支払いコンポーネントテンプレートを作成する2. 支払いコン...
キーペアの分離1 つ以上の Linux インスタンスから SSH キー ペアのバインドを解除します。...
失敗の原因今日、カルーセルを書いていたときに、overflow;hidden; が失敗する可能性があ...
1. 互換性以下のように表示されます。 互換性は問題ありません。IE を除き、他のブラウザは基本的に...
なお、これはvue-cliで作成したプロジェクトではありません。vue.jsを参照して記述したHTM...
WIN10 64ビットに最新のMySQL8.0.18をインストールダウンロード公式サイトから最新バ...
1. ダウンロードして解凍します: /Users/xiechunping/Softwares/mys...
効果現在、プロジェクトは2つ(project1、project2)あり、nginxに付属するinde...
my.cnfは、MySQL の起動時に読み込まれる設定ファイルです。通常は MySQL インストー...