Vue.jsで実装されたカレンダープラグインの使い方を詳しく説明します

Vue.jsで実装されたカレンダープラグインの使い方を詳しく説明します

本日実装する機能は、以下の機能です。vue.js シミュレーションカレンダープラグイン

さて、もう無駄な話はやめて、早速コードを見てみましょう

css:

*{
     マージン: 0;
     パディング: 0;
     -webkit-box-sizing: 境界線ボックス;
     -moz-box-sizing: 境界線ボックス;
     ボックスのサイズ: 境界線ボックス;
        }
        #アプリ{
            幅: 1000ピクセル;
            マージン: 10px 自動;
        }
        .カレンダー{
            幅: 1000ピクセル;
        }
        .カレンダーテーブル{
            幅: 1000ピクセル;
        }
        .calender テーブル,th,tr,td{
            境界線:1px 実線 #333333;
            境界線の折りたたみ: 折りたたみ;
        }
        .calender td{
            高さ: 100px;
            垂直方向の位置合わせ: 上;
            テキスト配置: 左;
            パディング: 5px 0 0 5px;
            フォントサイズ: 13px;
        }
        .calender td.cur{
            色:赤;
        }

html:

<div id="アプリ">
    <div class="カレンダー">
        <テーブル>
            <キャプション>
                <v-model.number="年" を選択">
                    <option v-for="i of 490">{{i+1969}}</option>
                </選択>
                <v-model.number="月" を選択">
                    <option v-for="i of 12">{{i}}</option>
                </選択>
            </caption>
            <頭>
            <tr>
                <th>日曜日</th>
                <th>月曜日</th>
                <th>火曜日</th>
                <th>水曜日</th>
                <th>木曜日</th>
                <th>金曜日</th>
                <th>土曜日</th>
            </tr>
            </thead>
            <t本文>
            <!-- インデックスは 0 から始まり、i は 1 から始まります -->
            <tr v-for="(a,index) カレンダーの長さ / 7" >
                <td v-for="i of 7" :class="{cur:calender[index * 7 + (i - 1)].cur }">{{calender[index * 7 + (i - 1)].fullDay}}</td>
            </tr>
            </tbody>
        </テーブル>
    </div>
</div>

js:

var vm = 新しい Vue({
        el:'#app',
        データ:{
            年:2018,
            月:1
        },
        計算:{
            カレンダー(){
                var arr = [];

                //新しいデータには 3 つのパラメーターがあります: 1. 年 2. 月 3. デフォルトは 1 です。0 の場合は、前月の最終日 (最初の 2 日間) 3 明後日を意味します。var nowMonthLength = new Date(this.year,this.month,0).getDate();
                var nowMonthFirstWeek = new Date(this.year,this.month-1).getDay();
                var lastMonthLength = new Date(this.year,this.month-1,0).getDate();
                console.log('今月は次のようになります:' + nowMonthLength);
                console.log('今月の最初の日' + nowMonthFirstWeek);
                console.log('先月の長さ' + lastMonthLength);

                // this.month = parseInt(this.month);
                //各月の前月はどの月でしょうか? var pmonth = this.month == 1 ? 12 : this.month - 1;
                //前年 var pyear = this.month == 1 ? this.year - 1 :this.year;
                //次の月 var nmonth = this.month == 12 ? 1 : this.month + 1;
                //次の月 var nyear = this.month == 12 ? this.year + 1 : this.year;
                //ゼロ埋め関数 // function toTwo(n) {
                // n < 10 ? '0' + n : n を返します。
                // }
                関数ビルド(n) {
                    n.toString().length > 1 を返します ? n.toString() : '0' + n.toString();
                }
                // 先月の最後の数日を追加します while(nowMonthFirstWeek--){
                    arr.unshift({
                        日:先月の長さ、
                        現在の値:true、
                        フルデイ:`${pyear}-${buling(pmonth)}-${buling(lastMonthLength)}`
                    });
                    先月の長さ--
                }
                コンソールにログ出力します。

                //今月の日数 var _a = 1;
                while(nowMonthLength--){
                    arr.push({
                        日:_a、
                        偽:
                        フルデイ:`${this.year}-${buling(this.month)}-${buling(_a)}`
                    });
                    _a++
                }

                //翌月に完了 var nextLength = arr.length > 35 ? 42 - arr.length : 35 - arr.length;
                _a = 1;
                while (nextLength--){
                    arr.push({
                        日:_a、
                        現在の値:true、
                        フルデイ:`${nyear}-${buling(nmonth)}-${buling(_a)}`
                    });
                    _a++
                }
                arr を返します。
            }
        }
    })

注意: 適切に実行するには、まずローカルの vue.js ファイルをインポートする必要があります。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • vue ビデオ再生用の vue-video-player プラグインの使用方法
  • Vue で Lodop プラグインを使用して印刷機能を実装する簡単な方法
  • Vueページングプラグインの使い方
  • Vue WeChat共有プラグインの使い方の詳しい説明
  • vue プロジェクトで vue-layer 箇条書きボックス プラグインを使用する方法
  • vue で jsonp プラグインを使用する例
  • Vue画像切り抜きプラグインvue-cropperの使い方を詳しく説明します
  • Vueプラグインの使用法の詳細な共有

<<:  mysql 8.0.20 winx64.zip 圧縮版のインストールと設定方法のグラフィックチュートリアル

>>:  Win10 での MySQL 8.0.20 のインストールと設定のチュートリアル

推薦する

CSS が初期読み込み時の白い画面の時間に与える影響

外部 CSS ファイルを使用したレンダリング パイプライン上図では、HTML データの要求から DO...

TypeScript ジェネリックパラメータのデフォルト型と新しい厳密なコンパイルオプション

目次概要コンポーネントクラスの型定義を作成するジェネリック型を使用してPropsとStateを定義す...

Dockerを使用してプライベートGitLabを構築する2つの方法

最初の方法: docker インストール1. オープンソース版のイメージを取得する2. 対応するデー...

複数サーバーの負荷分散を実現するためのNginx構成

Nginx ロード バランシング サーバー: IP: 192.168.0.4 (Nginx-Serv...

JS初心者が配列を処理するための実践的な方法のまとめ

join() メソッド: 指定された区切り文字を使用して配列内のすべての要素を文字列に接続します。例...

Vue のプラグインとコンポーネントの違いと使い方のまとめ

このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...

Linuxで環境変数を削除する詳細な手順

Linuxで環境変数を削除するには?unsetコマンドを使用してすぐに削除します1. Linuxクラ...

4つの柔軟なScssコンパイル出力スタイル

多くの人は、Scss を使用する瞬間からコンパイル方法を説明されてきました。したがって、コマンドのコ...

MySQLでBLOBデータを処理する方法

具体的なコードは次のとおりです。 パッケージ epoint.mppdb_01.h3c; java.i...

Linux での UDP について学ぶ

目次1. UDPとLinuxの基礎の紹介2. 各機能の使い方1. ソケット機能の使用2. バインド機...

VMware 仮想マシンに Android x86 をインストールする方法

アプリをテストしたいが、それを携帯電話で実行したくない場合があります。この場合、仮想マシンを使用して...

CSS3入力ボックスの実装コードはGoogleログインのアニメーション効果に似ています

CSS3を使用して、Googleログインページと同様の入力ボックスをアニメーション化します。効果1 ...

CSS を使用して 3 つのステップでショッピング モールのカード クーポンを作成する

今日は618日、主要なショッピングモールはすべてプロモーション活動を行っています。今日は、次のように...

vue+elementUI で埋め込みテーブルを実装する方法の例

大学 4 年生のときのインターンシップ中に、表内のデータの番号をクリックすると、そのデータの下に新し...

Nginx ロードバランシングの設定方法

目次Nginx 負荷分散構成Nginx 負荷分散戦略ポーリング(デフォルト)重さip_ハッシュ公正(...