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 をベースにした自動フロントエンド デプロイメント

推薦する

uniapp プロジェクトをデスクトップ アプリケーションとしてパッケージ化する方法

Electronのインストール cnpm 電子をインストール -g electron-package...

JS を使用して Web ページのウォーターフォール レイアウトを実装する方法

目次序文:ウォーターフォールレイアウトとは何ですか?達成方法: 1. 画像を取得する2. 画像の帯域...

MySQL トリガー: トリガーの作成と使用

この記事では、例を使用して MySQL トリガーの作成と使用について説明します。ご参考までに、詳細は...

MySQL サービスに iptables ファイアウォール ポリシーを追加するためのソリューション

MySQL データベースが Centos7 システムにインストールされており、オペレーティング シス...

MySQLデータベースのマスタースレーブレプリケーションと読み取り書き込み分離に関する詳細なチュートリアル

目次序文1. MySQL マスタースレーブレプリケーション1. サポートされているレプリケーションの...

Vue Element-ui フォーム検証ルールの実装

目次1. はじめに2. ルール検証の入力モード2.1 サンプルコード2.2、フォーム項目2.3. 小...

MySQLの文字タイプは大文字と小文字を区別します

デフォルトでは、MySQLの文字タイプは大文字と小文字を区別しません。つまり、name='A...

HTMLの表のtbodyは上下左右にスライドできます

テーブル ヘッダーが固定されている場合は、それを 2 つのテーブルに分割する必要があります。1 つの...

ウェブレスポンシブレイアウトにおけるiframe適応の方法

問題<br />レスポンシブ レイアウトでは、iframe 要素に注意する必要があります...

VMware に Centos7 をインストールした後に外部ネットワークに ping できない問題を解決する

クラスターを構成する際に問題が発生しました。当初は 3 台の仮想マシンすべてが外部ネットワークに p...

MySQLの自動増分IDについて知っておくべきこと

はじめに: MySQL を使用してテーブルを作成する場合、通常は自動インクリメント フィールド (A...

Chrome デベロッパー ツールの詳細な紹介 - タイムライン

1. 概要ユーザーは、アクセスする Web アプリケーションがインタラクティブでスムーズに実行される...

mysqlはエクスポートされたデータのsqlファイルから指定されたテーブルのみをインポートすることを実装します

シナリオ昨日、システムは dbAll.sql.gz という名前の特定のデータベースのすべてのテーブル...

Linux での MySQL 5.6 バイナリのインストール プロセス

1.1 バイナリインストールパッケージをダウンロードするhttps://dev.mysql.com/...

VueはOSSを使用して画像や添付ファイルをアップロードします

OSS を使用して Vue プロジェクトに画像や添付ファイルをアップロードするここでは、写真のアップ...