Vue 大画面データ表示例

Vue 大画面データ表示例

効率的に要件を満たし、コンポーネント ライブラリの肥大化や車輪の再発明を避けるために、私は以前、大画面ディスプレイ プロジェクトを数多く行ってきました。今日は、大画面の実際のプロセスを皆さんと共有したいと思います。最初は、データビュー コンポーネント ライブラリを使用していましたが、その後、カプセル化されたコンポーネントはそれほど多くは必要ないことがわかりました。また、モバイル側では、スタイルの混乱という問題がありました。そこで、彼の実装方法を参考にして、大画面対応のコンポーネントを作りました。では、早速レンダリングを見てみましょう。

レンダリング

あらゆるサイズの大型ディスプレイ画面に適応する必要があり、携帯電話では効果を拡大したり縮小したりして表示できます。変形せずに全体的に適応する効果を実現するために、ボディを比例して拡大縮小するコードをここに追加しました。

 <スクリプト>
        //ページの拡大縮小 public function resizePage() {
          // ウィンドウの高さを取得します var clientW = window.innerWidth
          var clientH = window.innerHeight
          // 初期ウィンドウ対ボディ比 var bi = clientW / 1920
          // 本文の幅と高さを設定します - 実際の状況に応じて調整できます document.getElementsByTagName('body')[0].style.width = "1920px"
          document.getElementsByTagName('body')[0].style.height = "1080px"
          document.getElementsByTagName('body')[0].style.transform = 'scale(' + bi + ',' + bi + ')'
          document.getElementsByTagName('body')[0].style.transformOrigin = '左上 0'
          
        }
        ページサイズを変更する()
        // ページのサイズを変更します。
        window.onresize = 関数 () {
          タイムアウトを設定します(()=>{
          ページのサイズを変更します。

          },200)  
        }        
    </スクリプト>

コード実装:

大画面の背景画像と全体的な効果を設定できる、適応型の大型コンポーネントをカプセル化します。残りは、特別にカスタマイズされたアイコンは必要ないため、基本的に echart コンポーネント ライブラリを使用します。したがって、パーソナライズはあまり行われません。

<テンプレート>
  <div id="dv-full-screen-container">
    <テンプレート>
      <スロット></スロット>
    </テンプレート>
  </div>
</テンプレート>

<スクリプト>
エクスポートデフォルト{
  
  マウントされた(){
  }
}
</スクリプト>

<スタイル lang="less">
#dvフルスクリーンコンテナ{
  位置: 固定;
  上: 0px;
  左: 0px;
  オーバーフロー: 非表示;
  変換の原点: 左上;
  zインデックス: 999;
  幅:100%;
  高さ:1080pxee
}
</スタイル>

<テンプレート>
  <div class="full">
    <dv-フルスクリーンコンテナref="full">
       コンテンツ
    </dv-フルスクリーンコンテナ>
  </div>
</テンプレート>
<スクリプト>
 
'./fullscreen' から fullScreenContainer をインポートします。
エクスポートデフォルト{
  コンポーネント:{
    'dv-フルスクリーンコンテナ':fullScreenContainer
  },
  マウントされた(){
   
  },
  作成された(){
  },
  方法:{
    
  }
}
</スクリプト>
<スタイル lang="less">
。満杯 {
  #dvフルスクリーンコンテナ{
    背景:#000222 url(../assets/images/bg.png);
    背景サイズ: 100% 100%;
    オーバーフロー:自動;
    
    .full-big-border {
      。コンテンツ {
        パディング: 0 38px 0 38px;
        幅: calc(100% - 76px);
        ディスプレイ: フレックス;
      }
    }
  }
  
}
</スタイル>

要約:

以上が、大画面への全体的な適応を自分で実現する効果と方法です。最初は面倒くさがってデータビューを直接使用したいかもしれませんが、必要なときに実現するのが難しい場合や、肥大化したコンポーネントライブラリのセットをインストールしたい場合など、強迫性障害を和らげるのが難しい場合があります。もっと良いカプセル化方法があればいいのですが。私は表面のほんの少しだけ実装しましたが、これから始める学生の役に立つことを願っています。

Vue 大画面データ表示例の記事はこれで終了です。Vue 大画面データに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • vue+echarts+datav 大画面データ表示と中国地図の省、市、郡のドリルダウン機能の実装
  • vueはデータの問題を修正し、リアルタイムで操作を表示します
  • VueでdataV大画面を使用する方法

<<:  ウェブサイトのパフォーマンスを向上させるためのコンテンツ関連の10の原則

>>:  DOCTYPE宣言の機能と使い方の詳しい説明

推薦する

ElementUIテーブルのヘッダーアイコンにフローティングプロンプトを追加します。

この記事では主に、ElementUI テーブルのヘッダー アイコンにフローティング プロンプトを追加...

閲覧時に作成されたWebページの下部にある余分な空白スペースを削除する方法

Dreamweaver または FrontPage を使用して HTML Web ページを作成する場...

黒、白、グレーの控えめでエレガントなウェブデザインを鑑賞

クラシックな色の組み合わせの中でも、黒、白、グレーの時代を超えた魅力を否定できる人はおそらくいないで...

Web 上の要素を非表示にする方法とその利点と欠点

ソースコードの例: https://codepen.io/shadeed/pen/03caf6b36...

sed コマンドを使用して文字列を置換する Linux チュートリアル

文字列を置き換えるには、次の形式を使用する必要があります。 $ sed s/置換対象文字列/置換文字...

Mysql データベースの日付と日時型でデフォルト値 0000-00-00 を設定するときに発生するエラー問題の詳細な説明

現象: MySQL バージョン 5.7 以降では、日付型と日付時刻型のデフォルト値が「0000-00...

Ubuntu 20.04 に cuda10.1 をインストールする手順 (グラフィック チュートリアル)

インストール前の準備CUDA の主な目的はディープラーニングであり、現在主流のディープラーニングフレ...

js配列のfind、some、filter、reduceの違いの詳細な説明

Array の filter、find、some、reduce メソッドの違いを区別し、使用シナリオ...

HTML の title 属性を正しく使用するためのヒント

コンテンツを携帯電話、タブレット、支援技術のユーザーから非表示にし、キーボードのユーザーにのみ表示す...

Vueはカルーセルのフレームレート再生を実装します

この記事の例では、カルーセルのフレームレート再生を実現するためのVueの具体的なコードを参考までに共...

クロスドメイン js フロントエンドの 8 つの実装ソリューション

目次1. jsonp クロスドメイン2. document.domain + iframe クロスド...

Mysql の一時テーブルとパーティションテーブルの違いの詳細な説明

一時テーブルとメモリテーブルメモリ テーブルとは、メモリ エンジンを使用するテーブルを指します。テー...

SHTML 簡潔なチュートリアル

SHTMLとASPは似ています。SHTMLという名前のファイルでは、SSIの命令がASPの命令と同じ...

DockerコンテナにNFS共有ディレクトリをマウントする実装

以前、https://www.jb51.net/article/205922.htm で、Docke...