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 のインストールと設定のチュートリアル

推薦する

ウェブページ入力ボックスのスタイルトリガー効果

<br />この例では、主に onblur と onFocus という 2 つのパラメー...

Vue-cli4 ルーティング構成の詳細な理解

目次序文 - Vue ルーティング1. 最も基本的なルーティング構成1. router/index....

Html+CSS フローティング広告ストリップの実装

1.html部分コードをコピーコードは次のとおりです。 <!DOCTYPE html> ...

インライン要素とブロック要素とは何ですか?

1. インライン要素はコンテンツの幅のみを占めますが、ブロック要素はコンテンツの量に関係なく行全体を...

vuex ベースのショッピングカート機能の実装

この記事の例では、ショッピングカート機能を実装するためのvuexの具体的なコードを参考までに共有して...

MySQLは現在の日付と時刻を取得する関数

現在の日付 + 時刻 (日付 + 時刻) を取得する関数: now() mysql> now(...

時間のかかるDockerエラーのトラブルシューティングプロセス記録

目次起源環境情報トラブルシューティングのプロセス要約する起源顧客は CentOS をベースにしたカス...

Mysqlツリー再帰クエリの実装方法

序文部門テーブルなどのデータベース内のツリー構造データの場合、部門のすべての従属部門または部門のすべ...

Linux seqコマンドの使い方の詳しい説明

01. コマンドの概要seq コマンドは整数のシーケンスを生成するために使用されます。 02. コマ...

JavaScript での実行コンテキストと実行スタックの例の説明

JavaScript - 原則シリーズ日常の開発では、既存のプロジェクトを引き継ぐときは常に、まず他...

1時間で学ぶMySQLの基礎

目次MySQL を使い始めるMySQL 管理6. MySQL サーバーを起動および停止します。 7....

Tomcatのデフォルトプログラム公開パスの使用と変更についての説明

tomcat7 のデフォルトのプログラム公開パスは tomcat/webapps/ROOT/ です。...

MySQL 8.0.22 のインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 8.0.22のインストールと設定について記録します。具体的な内容は以下のとお...

静的ウェブサイトをRSSに変換するツール

<br /> この記事は allwebdesignresources.com から Ra...

React-Native スクリーンショットコンポーネント react-native-view-shot の紹介と使い方のまとめ

目次1. 現象2. 解決策3. 要約: 1. 現象1. 要件: 特定の表示ページをキャプチャしてアル...