Vue3コンポーネントの開発詳細

Vue3コンポーネントの開発詳細

1. はじめに

当然ですが、長時間座ったり立ったりしていると腰にかなりの負担がかかります。はっきり言って、私は腰が脱臼しているわけではなく、穿刺手術を受けたばかりで、体に縫合した跡がまだよく治っていないので、お腹や腰に一定の負担がかかります。

前回の記事ではレイアウトの開発について書きましたので、「Vue3 (III) ウェブサイトのホームページレイアウト開発」を参照してください。ただし、コードを書く際には、優れたコードスタイルとカプセル化特性を継承する必要があるため、ここでは再度コードを修正し、公開部分のfooterheader部分を抽出します。

2. コンポーネント開発

headerfooter共通の部分であり、すべてのページに存在するため、抽出してApp.vueで管理する必要があります。

1. コンポーネントの構成

componentsの下にコンポーネントを作成します。基本構造は次のようになります。

これは、 templatescript 2つのタグのペアで構成されています。

2. ヘッダーコンポーネントの開発

上図の赤丸で示したように、これが抽出したい共通部分、つまりコンポーネントの展開になります。

コンポーネントの下にコンポーネントを作成します。ヘッダーのコンポーネント コードは次のとおりです。

html
<テンプレート>
    <a-layout-headerクラス="header">
      <div class="logo" />
      <a-メニュー
          テーマ="ダーク"
          モード="水平"
          v-model:selectedKeys="選択されたキー1"
          :style="{ 行の高さ: '64px' }"
      >
        <a-menu-item key="1">ナビゲーション 11122</a-menu-item>
        <a-menu-item key="2">ナビゲーション 2</a-menu-item>
        <a-menu-item key="3">ナビゲーション 3</a-menu-item>
      </a-メニュー>
    </a-レイアウト-ヘッダー>
</テンプレート>

<script lang="ts">
'vue' から defineComponent をインポートします。

エクスポートデフォルトdefineComponent({
  名前: 'TheHeader',
});
</スクリプト>

3. フッターコンポーネントの開発

上の図に示すように、フッター コンポーネントを開発する必要があります。サンプル コードは次のとおりです。

html
<テンプレート>
  <a-layout-footer スタイル="text-align: center">
    ソフトウェアテスター©2021 Liuge20211017作成
  </a-レイアウト-フッター>
</テンプレート>

<script lang="ts">
'vue' から defineComponent をインポートします。

エクスポートデフォルトdefineComponent({
  名前: 'TheFooter',
});
</スクリプト>


4. App.vueを変更する

サンプルコードは次のとおりです。

html
<テンプレート>
  <a-レイアウト>
    <ヘッダー></ヘッダー>
    <ルータービュー/>
    <フッター></フッター>
  </a-レイアウト>
</テンプレート>

<スタイル>
#コンポーネントレイアウトデモトップサイド2.ロゴ{
  フロート: 左;
  幅: 120ピクセル;
  高さ: 31px;
  マージン: 16px 24px 16px 0;
  背景: rgba(255, 255, 255, 0.3);
}

.ant-row-rtl #components-layout-demo-top-side-2 .logo {
  フロート: 右;
  マージン: 16px 0 16px 24px;
}

.サイトレイアウト背景 {
  背景: #fff;
}
</スタイル>
<スクリプト>
"@/components/the-header" から TheHeader をインポートします。
"@/components/the-footer" から TheFooter をインポートします。

エクスポートデフォルト{
  コンポーネント:
    ヘッダー、
    フッター
  }
}
</スクリプト>

5. Hellowordコンポーネントと関連コードを削除する

ホームは次のように変更されます。

html
<テンプレート>
  <a-レイアウト>
    <a-layout-sider width="200" style="background: #fff">
      <a-メニュー
          モード="インライン"
          v-model:selectedKeys="selectedKeys2"
          v-model:openKeys="openKeys"
          :style="{ 高さ: '100%', 右境界線: 0 }"
      >
        <a-サブメニューキー="sub1">
          <テンプレート #タイトル>
                <span>
                  <ユーザーによるアウトライン />
                  サブナビ1
                </span>
          </テンプレート>
          <a-menu-item key="1">オプション1</a-menu-item>
          <a-menu-item key="2">オプション2</a-menu-item>
          <a-menu-item key="3">オプション3</a-menu-item>
          <a-menu-item key="4">オプション4</a-menu-item>
        </a-サブメニュー>
        <a-サブメニューキー="sub2">
          <テンプレート #タイトル>
                <span>
                  <ラップトップのアウトライン />
                  サブナビ2
                </span>
          </テンプレート>
          <a-menu-item key="5">オプション5</a-menu-item>
          <a-menu-item key="6">オプション6</a-menu-item>
          <a-menu-item key="7">オプション7</a-menu-item>
          <a-menu-item key="8">オプション8</a-menu-item>
        </a-サブメニュー>
        <a-サブメニューキー="sub3">
          <テンプレート #タイトル>
                <span>
                  <通知の概要 />
                  サブナビ3
                </span>
          </テンプレート>
          <a-menu-item key="9">オプション9</a-menu-item>
          <a-menu-item key="10">オプション10</a-menu-item>
          <a-menu-item key="11">オプション11</a-menu-item>
          <a-menu-item key="12">オプション12</a-menu-item>
        </a-サブメニュー>
      </a-メニュー>
    </a-layout-sider>
    <レイアウトコンテンツ
        :style="{ 背景: '#fff', パディング: '24px', マージン: 0, 最小高さ: '280px' }"
    >
      コンテンツ
    </a-レイアウトコンテンツ>
  </a-レイアウト>
</テンプレート>

<script lang="ts">
'vue' から defineComponent をインポートします。

エクスポートデフォルトdefineComponent({
  名前: 'ホーム'、
});
</スクリプト>

6. サービスを再起動して表示する

再コンパイルしてページに再度アクセスします。結果は次のようになります。

3. 最後に

Vue3 (IV) コンポーネントの開発に関するこの記事はこれで終わりです。Vue3 コンポーネント開発に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue開発の一般的な手法の詳細な説明
  • 実践的なVue開発スキル
  • Vue Element フロントエンドアプリケーション開発は ABP フレームワークのフロントエンドログインを統合します
  • Vue.js を使用して WeChat アプレットを開発するオープンソース フレームワーク mpvue 分析
  • Vueフレームワークでの商品コンポーネント開発の詳細説明
  • Vueフレームワークとフロントエンドおよびバックエンド開発の詳細な説明

<<:  コピー&ペーストはパッケージングの敵です

>>:  CSS 透明ボーダー背景クリップマジック

推薦する

表には表示したい境界コードが表示されます

テーブルの共通プロパティ基本的な属性は、width (幅)、height (高さ)、border (...

Centos 7 mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar の簡単な分析

Baiduクラウドディスク:リンク: https://pan.baidu.com/s/1hv5rUW...

Vueカスタムコンポーネントは双方向バインディングを実装します

シナリオ:一般的に使用される親コンポーネントと子コンポーネント間の相互作用方法は次のとおりです。親コ...

2時間のDocker入門チュートリアル

目次1.0 はじめに2.0 Dockerのインストール3.0基本的なDockerコマンド4.0 Do...

Vueカスタムv-has命令、ボタン権限判定の手順

目次アプリケーションシナリオ簡単に言えば、カスタム指示基本概念グローバルカスタマイズローカルカスタマ...

画像にマウスを置いたときにズームイン/ズームアウトするには JS を使用します

マウスが画像上にあるときにズームインおよびズームアウトするには、JS を使用します。具体的なコードは...

VMWARE で Centos8 仮想マシンをコピーすることによって発生する IP 損失の問題の解決策

VMwareでcentos8サービスをインストールしてコピーすると、次の問題が発生します。 コピー前...

JavaScript における call、apply、bind の実装原則の詳細な説明

目次序文電話使用法成し遂げるシンプルな実装バージョン:アップグレード版:適用する使用法成し遂げるバイ...

html.cssオーバーフローの包括的な理解

html.cssオーバーフローの包括的な理解XML/HTML コードコンテンツをクリップボードにコピ...

JS で配列の重複排除を実装する 7 つの方法

目次1. Set()+Array.from() を使用する2. 2層ループ+アレイ接合方式の使用3....

Vue-cli を使用して Vue プロジェクトを構築する手順の詳細な説明

まず、Vue-cli をインストールする必要があります。 npm インストール -g vue-cli...

PHP で JSON バックスラッシュを削除する例

1. 「stripslashes($_POST['json']);」メソッドを使用し...

MySQL インデックスがソートに与える影響の分析例

この記事では、例を使用して、MySQL インデックスがソートに与える影響を説明します。ご参考までに、...

JavaScript におけるシリアル操作と並列操作

目次1. はじめに2. es5メソッド3. 非同期関数のシリアル実行4. 非同期関数の並列実行5. ...