vue3 の setUp とリアクティブ関数の使用方法の詳細な説明

vue3 の setUp とリアクティブ関数の使用方法の詳細な説明

1. いつsetUpを実行するか

vue3 ではメソッドを正常に使用できるようになったことは誰もが知っています。
しかし、setUp 内のメソッド内でメソッドを呼び出すことはできません。
なぜ? ? ?
まず、次の 2 つのライフサイクル機能を理解しましょう。
beforeCreateは、data内のデータがまだ初期化されておらず、使用できないことを意味します。
作成済み: データが初期化され、使用可能になりました
setUp は beforeCreate 関数と Created 関数の間にあります。
setUp 内のメソッド内でメソッドを呼び出せないのはなぜかご存知ですか?

2. データ内のデータとメソッド内のメソッドはsetUpでは使用できません。

<スクリプト>
エクスポートデフォルト{
  名前: 'アプリ'、
  データ:関数(){
    戻る {
      混乱:「私はデータだ」
    }
  },
  方法:{
    関数(){
      console.log("メソッド内の関数")
    },
  },
  設定(){
    console.log('this',this);//未定義
    this.func();//呼び出すことができません},
}
</スクリプト>

3. setUp関数に関する注意

(1)setUp関数ではデータやメソッドが使用できないため。
誤った使用を避けるために、VueはsetUp関数でこれを直接設定します。
未定義に変更

(2) setUp関数は同期のみ可能で、非同期はできません。

つまり、これはできないということです。
非同期セットアップ(){

},
これにより、インターフェースが空白になります。

4 Vue3 のリアクティブ性

Vue2 では、レスポンシブ データは de fineProperty を通じて実装されます。
Vue3では、レスポンシブデータはES6プロキシを通じて実装されます。

注意すべき反応ポイント
リアクティブパラメータはオブジェクト(json/arr)である必要があります
他のオブジェクトを reactive に渡すと、デフォルトでは、オブジェクトを変更してもインターフェースは自動的に更新されません。更新したい場合は、再割り当てすることができます。

5 リアクティブ文字列データが更新されない

<テンプレート>
 <div>
    <div>
      <li>{{str}}</li>
      <button @click="func1">ボタン</button>
    </div>
 </div>
</テンプレート>
<スクリプト>
'vue' から {reactive} をインポートします
エクスポートデフォルト{
  名前: 'アプリ'、
   設定(){
    // リアクティブの本質は、受信データをプロキシ オブジェクトにラップすることです。 // オブジェクトは作成時に渡されないため、応答性は実現されません。
    str = リアクティブ(123)とする
    関数func1(){
      console.log(str);//123
      666 文字
    }
    {str,func1} を返す
  },
}
</スクリプト>

ボタンがクリックされてもビューが更新されないことがわかりました。
オブジェクトを渡していないためです。ビューを更新する場合。
ref関数を使用する必要があります

6 リアクティブアレイ

<テンプレート>
 <div>
    <div>
      <li>{{arr}}</li>
      <button @click="func1">ボタン</button>
    </div>
 </div>
</テンプレート>
<スクリプト>
'vue' から {reactive} をインポートします
エクスポートデフォルト{
  名前: 'アプリ'、
   設定(){
    arr=reactive([{name:'张三',age:19},{name:'李四',age:39}]) とします。
    関数func1(){
      arr[0].name="私は張三の弟です"
    }
    {arr,func1} を返す
  },
}
</スクリプト> 

7. リアクティブに他のオブジェクトを更新する

<テンプレート>
 <div>
    <div>
      <li>{{sate.time}}</li>
      <button @click="func1">ボタン</button>
    </div>
 </div>
</テンプレート>
<スクリプト>
'vue' から {reactive} をインポートします
エクスポートデフォルト{
  名前: 'アプリ'、
   設定(){
    状態 = リアクティブ({
      時間:新しい日付()
    })
    関数func1(){
      //他のオブジェクトが渡され、 sate.time が直接更新されます="2021年-6月-9日";
    }
    {sate,func1} を返す
  },
}
</スクリプト>

上記は、vue3 の setUp と reactive 関数の詳細な説明です。vue3 の setUp と reactive 関数の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Vue3 の組み合わせ API における setup、ref、reactive の完全な使用方法
  • Vue3 における ref と reactive の詳細な説明と拡張
  • Vue3 のリアクティブリセットの問題と解決策

<<:  Mysql は null 値の first/last メソッドの例を実装します

>>:  Windows 10 Home Edition に Docker for Windows をインストールする

推薦する

Vue ベースの円形スクロールリスト機能を実装する

注: 親コンテナーに高さと :data='Array' および overfolw:h...

NavicatでMySqlスケジュールタスクを作成する方法の詳細な説明

Navicat で MySql スケジュールタスクを作成する詳細な説明イベントは、MySQL が特定...

Django+vue 登録とログインのサンプルコード

登録するフロントエンドは、vue の axios を使用して値を渡し、取得したアカウントとパスワード...

Docker イメージのプルとタグ操作 pull | tag

Fabric プロジェクトのソースコードを読み直してみたところ、Docker の部分でよくわからな...

一般的でない js 演算演算子の概要

目次2. カンマ演算子3. JavaScript Null 結合演算子 (??) 4. JavaSc...

最初のReactページを作成する方法

目次Rractとは何ですか?背景React スキャフォールディングJSXとは何かRractとは何です...

jQueryはHTML要素の非表示と表示を実装します

商品を検索するときに、すべてのブランドまたは一部のブランドを表示するTaobaoの機能を真似してみま...

サブセットかどうかを判断するためのMySQLメソッドの手順

目次1. 問題2. 解決策オプション1:オプション2: 1. 問題この話は、エラーと脱落率を照会する...

Linux でコマンドまたはプロセスの実行時間を調べる方法

Unix ライクなシステムでは、コマンドまたはプロセスの実行がいつ開始されたか、またプロセスがどのく...

Linux で cmake を使用して MySQL をコンパイルおよびインストールするための詳細なチュートリアル

1. cmakeをインストールする1. cmakeの圧縮パッケージを解凍する [root@mysql...

Vueは完全な選択機能を実装しています

この記事の例では、完全な選択機能を実装するためのVueの具体的なコードを参考までに共有しています。具...

Nginx レイヤー 4 負荷分散構成ガイド

1. レイヤー4負荷分散の概要レイヤー 4 ロード バランシングとは何ですか?いわゆる 4 層負荷分...

MySQL 文字列連結関数 GROUP_CONCAT の詳細な説明

前回の記事では、クロステーブル更新について書きました。自分が書いた SQL を見たとき、自分がバカみ...

HTML は Double 11 クーポン取得を実装します (クーポン取得ページを開く時間を設定します)

さっそく、コードを直接投稿します。具体的なコードは次のとおりです。 <!DOCTYPE htm...

Centos 7.4 サーバーの時刻同期設定方法 [NTP サービスに基づく]

この記事では、CentOS 7.4 サーバーで時刻同期を構成する方法について説明します。ご参考までに...