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サービス消失の解決策

推薦する

js を使用して過去 1 週間、1 か月、3 か月の時間を取得する簡単な例

目次過去1週間の時間を取得する過去1か月の時間を取得する過去3か月分を取得新しい Date() と ...

このポイントのJavaScriptの基本

目次これ方法オブジェクト内これを隠した厳密モード要約するJavaScript の this も不思議...

MySQL マスタースレーブレプリケーションでエラーをスキップする方法

1. 従来のbinlogマスタースレーブレプリケーション、エラー報告をスキップする方法 mysql&...

CSSはグラデーションを巧みに利用して高度な背景光アニメーションを実現します

成し遂げるこの効果は CSS を使用して完全に再現することは困難です。 CSS でシミュレートされた...

HTMLは実際にはいくつかの重要なタグを学ぶアプリケーションです

「これは革命になるだろう」という記事が出たあと。業界の皆様に認知され、もちろん内外からの評価もいただ...

CentOS サーバーの時間を北京時間に変更する方法

1. VPSとCentOSシステムを購入しましたが、サーバーの時間が北京時間と一致せず、時差があるこ...

WeChatアプレットの世界的な状況の詳細な説明

序文WeChat アプレットでは、App.js の globalData を中間ブリッジとして使用し...

Nginx リバース プロキシ学習例チュートリアル

目次1. リバースプロキシの準備1. LinuxシステムにTomcatをインストールする2. Tom...

Web データ ストレージ: Cookie、UserData、SessionStorage、WebSqlDatabase

クッキーこれはクライアント ブラウザの状態を保存するための標準的な方法です。Cookie はブラウザ...

Ubuntu 18.04 のsources.listをAlibabaまたはTsinghuaミラーに変更する方法

1. バックアップソースリストUbuntu のデフォルトのソースは国内サーバーではないため、更新され...

WeChatアプレットリクエストの前処理方法の詳細な説明

質問一部のページでは、onload でデータを要求してからビューをレンダリングするため、ミニプログラ...

NexusはAPIを使用して操作します

Nexus は RestApi を提供していますが、一部の API はまだ Groovy と組み合わ...

Echarts 凡例コンポーネントのプロパティとソース コード

凡例コンポーネントは、ECharts でよく使用されるコンポーネントです。シリーズ マーカーの名前を...

Power Shell に vim 実装コード例を追加する方法

1. Vimの公式ウェブサイトにアクセスして、オペレーティングシステムに適した実行ファイルをダウンロ...