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 をインストールする

推薦する

HTML タグ: サブタグと sup タグ

今日はあまり使わないHTMLタグ「subタグ」と「supタグ」を紹介します。関連記事: HTML タ...

Vueはズームイン、ズームアウト、ドラッグ機能を実装しています

この記事では、参考までに、ズームインとズームアウトのドラッグ機能を実現するためのVueの具体的なコー...

CSS変数を使用してダークモードを実装するためのサンプルコード

最近、WeChatはAppleによってダークモードの開発を強制されました。ますます多くのウェブサイト...

React の 3 つの主要属性における Ref の使用に関する詳細な説明

目次クラスコンポーネント機能コンポーネントインタビューのよくある質問: React における ref...

MySQL クロスデータベーストランザクション XA 操作の例

この記事では、例を使用して、MySQL のデータベース間トランザクション XA 操作について説明しま...

Linux オペレーティング システムに Apache サービスをインストールする方法

ダウンロードリンク:動作環境VMware 仮想マシンの CentOS 7.6セキュアCRT Xftp...

VueとFlask間の通信の実装

axiosをインストールして通信を実装するここでは、axios を使用して Vue フロントエンドと...

Vue プロジェクトを使用して複数のプロキシを構成する際の注意事項

Vue プロジェクトの開発プロセスでは、ローカル デバッグの利便性のため、通常、vue.config...

MySQLサブクエリの詳細な例

サブクエリの分類返された結果セットによる分類サブクエリは、返される結果セットの違いに応じて、テーブル...

Mysql マスタースレーブ同期 Last_IO_Errno:1236 エラー解決

Mysql マスタースレーブ同期の Last_IO_Errno:1236 エラーの原因は何ですか? ...

JS を使用した簡単な雪効果の例の詳細な説明

目次序文主な実装コードHTMLコードJSコード序文南の友達の多くは、雪をほとんど見たことがない、ある...

Docker で TLS と CA 認証を有効にする方法

目次1. 証明書を生成する2. リモートを有効にする3. リモート接続3.1 Jenkins接続3....

Jenkins を通じて None のイメージを定期的にクリーンアップする方法

序文継続的なコード配信のプロセスで、Jenkins を利用して Docker イメージを作成すると、...

CSS スタイルの優先順位とカスケード順序に関する議論

一般的に: [重要なフラグ1つ] > [特別なフラグ4つ] > 宣言順!importan...

UbuntuへのDocker CEのインストール

この記事は、Ubuntu 17.10 での Docker CE のインストールを記録するために使用さ...