Vueデータ監視の原理の詳細な説明

Vueデータ監視の原理の詳細な説明

ここに画像の説明を挿入

<本文>
    <div id="ルート">
        <h1>学生の基本情報</h1>
        <button @click="student.age++">年齢+1歳</button>
        <button @click="addSex">性別属性を追加します。デフォルト値は男性です</button><br>
        <button @click="student.sex='unknown' ">プロパティ値を変更する</button><br>
        <button @click="addFriend">リストの一番上に友達を追加します</button><br>
        <button @click="updateFriend">最初の人の名前を更新</button><br>
        <button @click="addHobby">趣味を追加</button><br>
        <button @click="change">最初の趣味を登山に変更</button><br>
        <button @click="removeSmoke">煙をフィルターで除去</button><br>
        <h3>名前: {{student.name}}</h3>
        <h3>年齢: {{student.age}}</h3>
        <h3 v-if="student.sex">性別: {{student.sex}}</h3>
        <h3>趣味:</h3>
        <時間>
        <ul>
            <li v-for="(h,index) in student.hobby" :key="index">{{h}}</li>
        </ul>
        <時間>
        <h3>友達:</h3>
        <ul>
            <li v-for="(f,index) in student.friends" :key="index">{{f.name}}--{{f.age}}</li>
        </ul>
    </div>
    <スクリプト>
        Vue.config で productionTip を false に設定します。
        定数vm = 新しいVue({
            el: "#root",
            データ: {
                学生:
                    名前: 'zhang',
                    年齢: 18歳
                    趣味: ['飲酒', '喫煙', 'パーマ'],
                    友達: [{
                        名前: 'li',
                        年齢: 15
                    }, {
                        名前: '王',
                        年齢: 10
                    }]
                }
            },
            メソッド: {
                セックスを追加します(){
                    this.$set(this.student, '性別', '男性')
                        // Vue.set(vm.student, '性別', '男性')
                },
                友達を追加します(){
                    this.student.friends.unshift({
                        名前: 'YY',
                        年齢: 66
                    })
                },
                アップデートフレンド() {
                    this.student.friends[0].name = "シャオ・リウ";
                    この学生の友達[0].年齢 = 22
                },
                趣味を追加します(){
                    this.student.hobby.push('歌うこと')
                },
                変化() {
                    //スプライスの追加は、0番目から始めて1つ削除し、新しく追加された値が登ることを意味します //注: 配列の添え字形式を介して直接変更することはできません //this.student.hobby.splice(0, 1, 'climbing')
                    //Vue.set(this.student.hobby, 0, '登山')
                    this.$set(this.student.hobby, 0, '登山')
                },
                煙を削除します(){
                    //フィルターは元の配列の変更には影響しません this.student.hobby = this.student.hobby.filter((h) => {
                        h !== '喫煙' を返す
                    })
                }
            }
        })
    </スクリプト>
</本文>

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue3 がデータ監視を実装するためにプロキシを使用する理由の分析
  • Vueデータ監視の原理の詳細な説明
  • Vueデータ監視方法の使用
  • Vue におけるデータ監視とデータ操作のケース分析
  • Vueデータ監視の原理の詳細な説明

<<:  hrefを使用すると、リンクをクリックするだけでページ上の特定の場所にジャンプできます。

>>:  Docker、Nginx、Jenkins をベースにした自動フロントエンド デプロイメント

推薦する

CSS で overflow-y: visible; が機能しない理由の分析と解決

シナリオ最近の要件は、モバイル デバイス用の h5 ページです。これには、選択可能なカードの行が必要...

MySQL DML言語操作例

追加説明、外部キー: 外部キーを使用しないでください。すべての外部キーの概念はアプリケーション層で解...

Linux システムの .bash_profile ファイルの詳細な説明

目次1. 環境変数$PATH: 2. 環境変数を変更します。 3. bash_profileの目的要...

システムメンテナンスページにリダイレクトするように nginx を設定する

先週末、兄弟プロジェクトはより良いサービスを提供するためにサーバーを拡張する準備をしていました。兄弟...

docker+jenkins+node.js の自動デプロイメント環境をゼロから構築する方法

このケースはCentOS 7システムに基づいていますDockerの使用経験がある人に適していますLi...

JS でオブジェクトが空オブジェクトかどうかを判断する 5 つの方法

1. jsonオブジェクトをjson文字列に変換し、文字列が「{}」であるかどうかを判断します。 v...

Dockerが正常に起動しない原因と解決策を詳しく解説

1. Docker 起動時の異常なパフォーマンス: 1. ステータスが繰り返し再起動している場合は、...

MySQL マスタースレーブ同期における server-id の例の詳細な説明

序文MySQL クラスターを構築する場合、当然のことながら、データの一貫性を確保するために、データベ...

IE6/IE7/IE8/IE9/FF 向け CSS ハック (概要)

IE8.0の正式版をインストールしたので、基本的なCSS HACKをいくつかまとめてみました。We...

HTMLファイル内の中国語の文字化けとブラウザでの表示の問題

今日も私のページが文字化けしていたので、インターネットで関連する問題を検索しました。この方法はかなり...

2 つの MySQL ユーザー削除ステートメント (delete user と drop user) の違い

ヒント: MySQL では、ユーザーの作成と削除が頻繁に必要になります。ユーザーを作成するときは、通...

JavaScript における 3 つの for ループ ステートメントの使用の概要 (for、for...in、for...of)

序文JS に触れるすべての開発者は、必然的に for ループを扱うことになります。結局のところ、fo...

HTMLでキーワードを強調表示するのに最適なソリューション

最近、プロジェクトに取り組んでいるときに、Web ページ上のキーワードを強調表示する機能に遭遇しまし...

画像を読み込むための JavaScript キャンバス

この記事では、画像を読み込むためのJavaScriptキャンバスの具体的なコードを参考までに紹介しま...

MySQL 5.7.20\5.7.21 無料インストール版のインストールと設定のチュートリアル

参考までに、mysql 5.7.20 / 5.7.21 をダウンロード、インストール、構成します。具...