vue-cli でレスポンシブ レイアウトを実装する方法

vue-cli でレスポンシブ レイアウトを実装する方法

フロントエンド開発を行うと、PCとモバイル端末の適応に必然的に直面することになります。このような問題に直面して、一部の企業はモバイルはモバイル、PCはPCの2つのページを用意し、レスポンシブレイアウトはユーザーの異なるモデルに応じて異なるページを表示します。これ以上面倒なことはせずに、コードを貼り付けるだけです。

まず、この機能は vuex を利用して実装されています。まだダウンロードしていない場合は、まずダウンロードしてください。

糸を追加するvuex

レスポンシブレイアウトなので、PC側用のCSSとモバイル側用のCSSの2セットを用意する必要があります。 とりあえず、PC側をコンピュータスタイル、モバイル側をモバイルスタイルと呼ぶことにします。

まず最初にやるべきことは、現在の画面の幅です

州: {
  画面幅: document.documentElement.clientWidth、
  画面の高さ: document.documentElement.clientHeight
 }

これはvuexの状態です。後で画面の幅をリアルタイムで監視するため、screenWidthを変更するメソッドも用意する必要があるため、別のミューテーションを書きました。

突然変異:
  setWidth(状態, 値) {
   state.screenWidth = 値
  },
  setHeight (状態、値) {
   state.screenHeight = 値
  }
 }

このようにして、vuexファイルが書き込まれ、APP.vueになります。このファイルの下にwindow.onresizeイベントを追加して、vuexのscreenWidth値をリアルタイムで更新する必要があります。ここでは、補助関数を使用します。

'vuex' から { mapState, mapMutations } をインポートします。

マウントされたフック関数にイベントを追加する

マウントされた(){
  ウィンドウのサイズ変更 = () => { 
   this.setWidth(document.documentElement.clientWidth) 
  }
}

例えば、ウェブページのナビゲーションはモバイルでは下部、PCでは上部に表示する必要があるので、watchまたはcomputedを使用してnav.vueコンポーネントのscreenWidthの値を監視することができます。ここではcomputedを使用します。

<ul :class="computedPhone">//screenWidth に応じて異なるクラス名を指定します<router-link to='/file' tag="li" active-class="active">Movie</router-link>
   <router-link to='/cinma' tag="li" active-class="active">映画</router-link>
   <router-link to='/center' tag="li" active-class="active">パーソナルセンター</router-link>
</ul>

計算: {
  ...mapState('スタイルシート', ['画面幅']),
  計算された電話() {
   (this.screenWidth < 1024)の場合{
    'モバイル'を返す
   } それ以外 {
    'コンピュータ'を返す
   }
  }
 }

このように、2セットのCSSを記述することでレスポンシブレイアウトを実現できます。

これで、vue-cli でレスポンシブ レイアウトを実装する方法に関するこの記事は終了です。vue-cli レスポンシブ レイアウトに関する関連コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vueは配列とオブジェクトの値をレスポンシブに追加および変更します
  • Vueのレスポンシブ原則についての簡単な説明
  • Vue.set() メソッドを使用して、配列データステップのレスポンシブな変更を実装します。
  • Vue のイベント対応プログレスバーコンポーネントの詳細な例
  • Vueでレスポンシブシステムを実装する方法
  • Vue3.0 レスポンシブ システムのソース コードの行ごとの分析
  • Vueのレスポンシブ原則の詳細な説明
  • JSを使用してVue実装ページの入力値をレスポンシブに変更する
  • Vue のデータ応答性の原理についての簡単な説明

<<:  Linux (Ubuntu 18.04) に Anaconda をインストールする詳細な手順

>>:  原因不明のMySqlサービス消失の解決策

推薦する

MySQLの整数および文字列インデックスの無効化または暗黙的な変換に関する簡単な説明

目次問題の概要問題の再現問題の拡大結論は問題の概要今日、仕事中に、DBA が突然、SQL に暗黙的な...

クロスブラウザの問題に対する 5 つの解決策 (要約)

簡単なレビュー: ブラウザの互換性の問題は、しばしば頭痛の種となります。ここでは、これらの問題を回避...

ウェブサイトのパフォーマンスを向上させるためのウェブサーバーの改善

<br />このシリーズの最初のセクションでは、Web サイトのパフォーマンスを向上させ...

数千万データを持つMySQLテーブルを最適化する実践記録

序文まずここで説明させてください。インターネット上では、Alibaba では 500 万のデータを異...

jQueryはマウスドラッグ画像機能を実装します

この例では、jQuery を使用してマウス ドラッグ イメージ機能を実装します。まず、ラッパーを設定...

Linux環境でよく使われるMySQLコマンドの紹介

mysql コマンドを入力します: mysql -u+(ユーザー名) -p+(パスワード) mysq...

MySQL を解凍してインストールおよび完全に削除する方法の詳細なグラフィック説明

1. MySQLをインストールする(1)ダウンロードしたMySQLの圧縮ファイルをMySQLをインス...

win10 mysql 5.6.35 winx64 無料インストールバージョン設定チュートリアル

mysql 5.6.35 winx64無料インストールバージョン構成チュートリアルwin10、具体的...

MySQL における between の境界と範囲の説明

境界範囲間のmysql間の範囲は両側の境界値を含む例: 3 から 7 までの id は、id >...

組み込み Linux で QT アプリケーションを再起動する簡単な方法 (QT4.8 qws ベース)

アプリケーション ソフトウェアには通常、次のようなビジネス要件があります。新しいバージョンの APP...

フレックスレイアウトの改行スペースでの align-content の使用

1. この記事で実装した効果図は以下のとおりです。レイアウトの右側に Flex レイアウトを使用し、...

ECMAscript の新機能の紹介

目次1. 関数パラメータのデフォルト値1.1 関数パラメータのデフォルト値の指定1.2 分離割り当て...

複数のパッケージソースから同時にパッケージをロードするようにnpmを設定する方法

目次1. ローカルストレージを構築する2. npmパッケージを作成し、プライベートリポジトリにアップ...

JavaScript ではおそらく switch 文を使う必要はない

目次スイッチも複雑なコードブロックもありませんPythonからのインスピレーション辞書を使用してスイ...

VMware に Centos7 をインストールした後に外部ネットワークに ping できない問題を解決する

クラスターを構成する際に問題が発生しました。当初は 3 台の仮想マシンすべてが外部ネットワークに p...