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

推薦する

Vue は検証コードのカウントダウンボタンを実装します

この記事では、検証コードカウントダウンボタンを実装するためのVueの具体的なコードを例として紹介しま...

MySQLで行または列をソートする方法

方法:説明: どちらも達成できません:方法1: sp_product から sp.productid...

mysql バックアップ戦略の実装 (フルバックアップ + 増分バックアップ)

目次設計シナリオ技術的なポイントサーバー情報準備フルバックアップスクリプト(Mysql-FullyB...

MySQL テーブルの追加、削除、変更、クエリの基本チュートリアル

1. 作成する [テーブル名] (フィールド1、フィールド2、...) 値 (値1、値2、...) ...

Docker+Nginx を使ってシングルページアプリケーションをデプロイする

開発から導入まで自分で行うシングルページアプリケーションを開発する場合、ビルドを実行した後 npm ...

YUMを使用してdockerをインストールする方法

次の図に示すように: Centos 7.0以上であれば問題ありません。現在のシステム カーネル バー...

UTF-8 ファイルの Unicode 署名 BOM (バイト オーダー マーク) の問題

最近、UTF8 エンコードの中国語 Zen Cart Web サイトをデバッグしているときに奇妙な現...

JavaScript の querySelector メソッドと getElementById メソッドの違いを分析する

目次1. 概要1.1 querySelector() と querySelectorAll() の使...

Apache での ab パフォーマンス テスト結果を分析する

私はパフォーマンス テストを行うために常に Loadrunner を使用してきました。 Loadru...

mysql 簡単な操作例を表示

この記事では、例を挙げて mysql show 操作について説明します。ご参考までに、詳細は以下の通...

ウェブサイトのBGM実装方法

個々のウェブマスターにとって、自分のウェブサイトをいかにユニークで個性あふれるものにするかは、常に絶...

ReactでのsetStateの使用と同期と非同期の使用

React では、this.state を使用して状態を直接変更しても、コンポーネントは再レンダリン...

Nodejs モジュール システムのソースコード分析

目次概要CommonJS 仕様Node の CommonJS 仕様の実装モジュールのエクスポートとイ...

nginx をシャットダウン/再起動/起動する方法

閉鎖サービス nginx 停止systemctl 停止 nginx起動するサービス nginx 開始...

一般的なMySQLストレージエンジンの長所と短所

目次すべてのストレージエンジンを表示InnoDB ストレージ エンジンMyISAM ストレージエンジ...