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 の新機能とアプリケーション例
MySQL のインデックスの種類には、通常のインデックス、一意のインデックス、全文インデックスがあり...
ウェブサイトが悪意を持ってリクエストされた場合、IP アドレスをブラックリストに登録することは重要な...
この記事では主に、MySQL サービスの自動停止の解決策を紹介し、参考と学習のために共有します。一緒...
RedisはRedisバージョン5のapline(Alps)イメージを使用します。これは小さくて高速...
セレクタのグループ化h2 要素と段落の両方を灰色にしたいとします。これを行う最も簡単な方法は、次のス...
目次1. トリガーソリューション2. パーティションテーブルソリューション3. 一般的な表領域ソリュ...
この記事では、参考までにMySQL 8.0.15のインストールと設定のグラフィックチュートリアルを紹...
序文非表示要素の 3 つの属性である表示、可視性、不透明度の類似点と相違点は、フロントエンドの就職面...
おそらく、この記事にこのようなタイトルを付けると、誰かがこう尋ねるでしょう。「なぜまだテーブルに注目...
以下のように表示されます。主に認証コマンドを実行します: 2つの方法1. 任意のホストがユーザー b...
目次序文インストール導入環境の切り替え傍受を要求するレスポンスインターセプションAPIの統合管理要約...
1. ダウンロード1. MySQL公式サイトのダウンロードアドレス: https://downloa...
1. インライン参照:ラベルに直接使用されるが、メンテナンスコストが高い スタイル='フォ...
序文ほとんどのプロジェクトでは、PDF ファイルのオンライン プレビューに遭遇するでしょう。このプロ...
この記事では、CentOS 7 に Chrome ブラウザをインストールする方法を紹介します。詳細は...