論理階層化vue3を使用してプロジェクトを開発する場合、 異なる地域から事業を分離エクスポートデフォルト{ 設定 () { {queryDo、addDo、delDO、EditDo} を allFun() にします。 queryDo(); //クエリインターフェースが呼び出されます} } // これはページ関数 allFun(){ の領域 A のロジックです console.log('私はallFun関数内の直接のステートメントであり、実行されます') 関数queryDo(){ console.log('インターフェースをクエリし、バックエンドデータを呼び出しています') } 関数addDo(){ console.log('私は初心者です') } 関数delDO(){ console.log('削除しました') } 関数EditDo(){ console.log('私は編集インターフェースです') } {queryDo、addDo、delDO、EditDo} を返します } </スクリプト> これを実行する利点
このようなシナリオにどう対処するかビジネスロジックを書くときは、 <スクリプト> エクスポートデフォルト{ 設定 () { // ここで使用される構造はエリア A です。let {queryDo,addDo,delDO,EditDo}=aAreaAllFun(); // エリア B let {querHander}=bAreaAllFun(); {queryDo、addDo、delDO、EditDo、querHander} を返します } } // これはAエリアページ上の特定のエリアのロジックです。function aAreaAllFun(){ 関数queryDo(){ console.log('私はエリアAのクエリインターフェースです') } 関数addDo(){ console.log('私は初心者です') } 関数delDO(){ console.log('削除しました') } 関数EditDo(){ console.log('私は編集インターフェースです') } {queryDo、addDo、delDO、EditDo} を返します } // これはエリアBのビジネスロジックです。関数bAreaAllFun(){ // エリア A のクエリ インターフェイスを直接呼び出します。aAreaAllFun().queryDo(); 関数querHander(){ console.log("エリア B のクエリ インターフェイス") } {querHander} を返す } </スクリプト> 使用していますが 最適化<スクリプト> エクスポートデフォルト{ 設定 () { // これはAエリアページの特定のエリアのロジックです。let {addDo,delDO,EditDo}=aAreaAllFun() // これは B エリア ページ上の特定のエリアのロジックです。let {querHander}=bAreaAllFun(); {queryDo、addDo、delDO、EditDo、querHander} を返します } } // パブリッククエリインターフェース 多くの領域では関数 queryDo(){ が使用される可能性があります console.log('私は地域のクエリインターフェースです、引き出されました') } // これはAエリアページ上の特定のエリアのロジックです。function aAreaAllFun(){ 関数addDo(){ console.log('私は初心者です') } 関数delDO(){ console.log('削除しました') } 関数EditDo(){ console.log('私はエディターインターフェースです') } {addDo,delDO,EditDo} を返します } // これはエリアBのビジネスロジックです。関数bAreaAllFun(){ // パブリック クエリ インターフェイス queryDo() を直接呼び出します。 関数querHander(){ console.log("エリア B のクエリ インターフェイス") } {querHander} を返す } </スクリプト> 必ずしもセットアップ関数にreactiveを書く必要はない多くの友人は、reactive はセットアップ関数内に記述する必要があると考えています。実際はそうではありません。必要な場所に記述できます。たとえば、次の aAreaAllFun 関数内で reactive を使用できます。 <テンプレート> <div> <h2>名前: {{ areaData.info.name}}</h2> <h2>年齢: {{ areaData.info.age}}</h2> <h2>性別: {{ areaData.info.sex}}</h2> </div> </テンプレート> <スクリプト> '@vue/reactivity' から { reactive } をインポートします。 エクスポートデフォルト{ 設定 () { {addDo,areaData}=aAreaAllFun() とします。 {addDo,areaData} を返します } } // これはAエリアページ上の特定のエリアのロジックです。function aAreaAllFun(){ areaData = リアクティブ({ 情報: 名前:「張三」 年齢:20歳 性別: '男性' } }) 関数addDo(){ console.log('私は初心者です') } {addDo,areaData} を返します } </スクリプト> ページに値を直接表示する方法上記の例では、名前、年齢、性別を実装したいので、areaData.info.xxxが必要です。 <テンプレート> <div> <h2>名前: {{ name}}</h2> <h2>年齢: {{ age}}</h2> <h2>性別: {{ sex}}</h2> </div> <button @click="ChangeCont">値を変更</button> </テンプレート> <スクリプト> 'vue' から { reactive,toRefs } をインポートします。 エクスポートデフォルト{ 設定 () { {名前、年齢、性別、ChangeCont}=aAreaAllFun() とします。 {名前、年齢、性別、ChangeCont} を返します } } // これはAエリアページ上の特定のエリアのロジックです。function aAreaAllFun(){ areaData = リアクティブ({ 情報: 名前:「張三」 年齢:20歳 性別: '男性' } }) 関数ChangeCont(){ // この方法で値を変更すると、ビューは応答しなくなります。[エラー] //エリアデータ.info={ // 名前:'Li Si', //年齢:21, // 性別:'男性' // } // ビューを正しく更新するにはこれで OK です [ok] エリアデータ情報名='123' エリアデータ.info.age=12 areaData.info.sex='男性' } // toRefs はレスポンシブ オブジェクトを通常のオブジェクトに変換できます。 // この共通オブジェクトのすべての値は参照です。 // ref になるので、値を使用する必要があります。 {ChangeCont,...toRefs(areaData.info)} を返します。 } </スクリプト> プロジェクトにおけるvue3のロジック抽出とフィールド表示に関するこの記事はこれで終わりです。より関連性の高いvue3のロジック抽出とフィールド表示コンテンツについては、123WORDPRESS.COMで過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Mysql 8.0.18 ハッシュ結合テスト (推奨)
>>: portainer を使用してリモート docker に接続するチュートリアル
Element-UI に慣れた開発者なら、無限スクロールの InfiniteScroll が使いにく...
zhangxinxu より https://www.zhangxinxu.com/wordpress...
プログラムは上から下へ順番に実行され、いくつかの制御文によって実行経路を変更することができます。制御...
データのエクスポートエラーを報告する 「secure_file_priv」のような変数を表示します。...
ウェブフロントエンド最適化のベストプラクティス: コンテンツWebフロントエンド最適化のベストプラク...
Nginx の最適化 - バージョン番号と Web ページのキャッシュ時間を非表示にするバージョン番...
参考までに、Vue シングル サインオンのデモをご紹介します。詳細を知りたい方のお役に立てれば幸いで...
多くの場合、クエリの結果は最大で 1 つのデータ レコードになることが予想されます。この場合、制限 ...
Linux サーバー A と B が 2 台あり、一方のサーバーから SSH 経由でパスワードなしで...
目次vue2のキャッシュ機能Vue キャッシュ関数の変換最適化要約するvue2のキャッシュ機能vue...
オンライン ビジネスにとってデータの一貫性と整合性が重要であることは明らかです。データが失われないよ...
1. ポート2375を開くdocker.serviceを編集する vim /lib/systemd/...
Dockerネットワークを見るdocker ネットワーク ls [root@master ~]# d...
外部アクセスポートをランダムにマップする -P フラグを使用すると、Docker は 49000 か...
目次背景element-ui の自動構築はどのように機能しますか?メイクファイル新しい.jsファイル...