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

推薦する

JavaScript es6 における var、let、const の違いの詳細な説明

まず、よくある質問は、ECMAScript と JavaScript の関係は何ですか? ECMAS...

MySQL でよく使用される SQL 文を表示する (詳細な説明)

#mysql -uroot -pパスワードを入力してくださいmysql> show full...

Linuxの相対パスと絶対パスの使用

01. 概要絶対パスと相対パスはシェル環境でよく使用され、それぞれに独自の用途があります。相対パスの...

CentOS6.5 でファイル共有サービス Samba を構築するチュートリアル

Samba サービス:このコンテンツはサンバサービス学習者の参考用ですケースの説明:企業の管理者は、...

HTML ページジャンプとパラメータ転送の問題

HTMLページジャンプ: window.open(url, "", "...

小さなアイコンのフロントエンド処理ソリューションのグラフィカルな説明

序文この記事を始める前に、複数選択の質問をしてみましょう。フロントエンド開発でビルド ツールを使用す...

Dockerに証明書を追加する方法

1. アップグレードプロセス: sudo apt-get updateパッケージが見つからない、パッ...

XHTML 入門チュートリアル: Web ページのヘッダーと DTD

ヘッドと DTD はページには表示されませんが、Web ページの重要な要素です。 なぜ失敗したのでし...

MySQL 4 データをインポートする方法

1. mysqlコマンドをインポートするmysql コマンドのインポート構文は次のとおりです。 my...

SpringBoot のパッケージ化と Docker へのアップロード、およびマルチインスタンス デプロイメントの実装に関する簡単な分析 (IDEA バージョン)

最近友人からDockerを触ったことがあるかと聞かれました。あまり自信がなかったので答えられませんで...

Dockerを使用して分散lnmpイメージを作成する

目次1. Docker分散lnmpイメージ生成1. Nginx、MySQL、PHPコンテナを実行する...

HTML はモバイル上で固定フローティング半透明検索ボックスを実装します

質問。モバイルショッピングモールシステムでは、ページの上部に検索ボックスがよく見られます。ブロガーは...

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

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

html-cssタグのスタイル設定が機能しない2つの理由

1 セミコロン「;」のない CSS スタイル2 タグが閉じられておらず、「>」がありません...

VMware Workstation Pro 16 グラフィックチュートリアル (CentOS8 仮想マシン クラスタの構築)

目次準備VMware Workstation Pro 16 をインストールするLinux仮想マシンの...