1. コンポーネントとは何ですか?コンポーネントは、Vue.js の最も強力な機能の 1 つです。コンポーネントは HTML 要素を拡張して再利用可能なコードをカプセル化します。大まかに言えば、コンポーネントは Vue.js コンパイラが特別な機能を追加するカスタム要素です。 2. グローバルコンポーネントを作成する方法11. Vue.extendvar com1 = Vue.extend({ // テンプレートプロパティは、コンポーネントが表示する HTML 構造を指定します。テンプレート: '<h3>これは Vue.extend を使用して作成されたコンポーネントです</h3>' }) 2. Vue.コンポーネントVue.component('コンポーネント名', 作成されたコンポーネントテンプレートオブジェクト)はコンポーネントを登録します Vue.component('myCom1', com1) 注意:Vue.Component を使用してグローバル コンポーネントを登録し、コンポーネント名がキャメル ケースである場合は、コンポーネントを参照するときに大文字のキャメル ケースを小文字に変更する必要があります。同時に、2 つの単語の間に「–」リンクを使用します。使用しない場合は、名前を直接使用してください。 方法2Vue.component を直接使用するVue.component('mycom2', { テンプレート: '<div><h3>これは Vue.component を使用して直接作成されたコンポーネントです</h3> <span>123</span></div>' }) 例: 方法31. 制御された #app の外部で、テンプレート要素を使用してコンポーネントの HTML テンプレート構造を定義します。 <テンプレートid="tmpl"> <div> <h1>これはテンプレート要素を通じて外部的に定義されたコンポーネント構造です</h1> <h4>使いやすいです、良いです!</h4> </div> </テンプレート> 2. IDを使用してコンポーネントを登録する Vue.component('mycom3', { テンプレート: '#tmpl' }) 3. ローカルコンポーネントの作成ローカル コンポーネントは、グローバル コンポーネントと同じ方法で作成されます。唯一の違いは、部分コンポーネントが Vue インスタンス内で定義されることです。 4. コンポーネント内のデータとメソッド1. コンポーネントは独自のデータを持つことができます。 2. コンポーネント内のデータはインスタンス内のデータとは少し異なります。インスタンス内のデータはオブジェクトになる場合があります。ただし、コンポーネント内のデータはメソッドである必要があります。 3. コンポーネント内のデータは、メソッドであるだけでなく、オブジェクトを返す必要もあります。 4. コンポーネント内のデータは、インスタンス内のデータと同じように使用されます。 (方法についても同様です) 5. コンポーネント間の通信props/$emit親コンポーネント A は子コンポーネント B に props を渡し、B から A への処理はコンポーネント B の $emit とコンポーネント A の v-on によって実装されます。 サブコンポーネント: <テンプレート> <div class="hello"> <ul> <li v-for="(user,index) in users" v-bind:key="index">{{ user }}</li> </ul> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: "ユーザー"、 小道具: { users: { //親コンポーネント内の子タグのカスタマイズされた名前 type: Array, 必要: true } } } </スクリプト> <スタイルスコープ> li{ リストスタイルの位置: 内側; } </スタイル> 親コンポーネント: <テンプレート> <div id="アプリ"> <img alt="Vue ロゴ" src="./assets/logo.png"> <Users v-bind:users="users"> </Users> </div> </テンプレート> <スクリプト> 「@/components/users」からユーザーをインポートします。 エクスポートデフォルト{ 名前: 'アプリ'、 データ(){ 戻る { ユーザー: ['西安郵電'、'西安石油'、'西北政法'、'西安産業'、'西安金融'] } }, コンポーネント: ユーザーの皆様、 } } </スクリプト> イベント形式別サブコンポーネント: <テンプレート> <ヘッダー> <h1 @click="changeTitle">{{ タイトル }}</h1> </ヘッダー> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前:「息子」 データ(){ 戻る { タイトル: 「Vue.js デモ」 } }, メソッド: { タイトルを変更する(){ this.$emit('titleChanged','西安郵電大学'); } } } </スクリプト> <スタイルスコープ> h1{ 背景色: 緑黄色; } </スタイル> 親コンポーネント: <テンプレート> <div id="アプリ"> <Son v-on:titleChanged="updateTitle"></Son> <h2>{{ タイトル }}</h2> </div> </テンプレート> <スクリプト> Son を "@/components/Son" からインポートします。 エクスポートデフォルト{ 名前:「父」 データ(){ 戻る { タイトル: 「渡されるのは値です」 } }, メソッド: { タイトルを更新(e){ this.title = e } }, コンポーネント:{ 息子、 } } </スクリプト> 要約する子コンポーネントはイベントを通じて親コンポーネントにメッセージを送信します。これは実際には、子コンポーネントが独自のデータを親コンポーネントに送信することを意味します。 この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: HTML 5.1 学習: 14 の新機能とアプリケーション例
mysql5.7.21 zipの詳細なインストール手順は次のとおりです。 1. 解凍して指定されたデ...
異なるサーブレット パスを構成するときに、次の 2 つのエラーが発生しました。 java.lang....
chmod コマンド構文chmod コマンドを使用する場合の正しい構文は次のとおりです。 chmod...
必要:あるフィールドの同一項目を結合し、別の時間フィールドで並べ替えます。例:初めに テーブルから都...
目次なぜパーティションが必要なのでしょうか?パーティショニング戦略パーティションの危険性なぜパーティ...
I. 概要HTML テンプレートを作成するときに、テキスト レイアウトの手段としてスペースが使用さ...
B-Tree インデックスに加えて、MySQL は次のインデックスも提供します。ハッシュインデックス...
1. MySQLデータベースのエンコーディングを確認する mysql -u ユーザー名 -p パスワ...
3つの知識ポイント: 1. CSS子孫セレクターhttps://www.w3school.com.c...
MySQLとElasticsearch間のデータ非対称性問題の解決策jdbc-input-plugi...
コンテナを通じてローカル パブリック IP アドレスを取得します。ローカル IP アドレスを使用して...
環境の準備 Docker環境 MySQL 5.7 (公式イメージはmysql8をサポートしていません...
前回の記事では、https を使用したローカルノードサービスアクセスを実装しました。前回の記事の効果...
1. マルチヘッダーテーブルコードコードをコピーコードは次のとおりです。 <!DOCTYPE ...
1: 速度と読み込み方法の違いdivとtableの違いは速度ではなく、読み込み方法です。速度はネット...