論理階層化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 に接続するチュートリアル
結果 (完全なコードは下部にあります): 実装は難しくありませんが、繰り返しコードが多くなります。実...
公式ドキュメント: JSON 関数名前説明JSON_APPEND() JSONドキュメントにデータを...
1.ターミナルに入ったらPHPのバージョンを確認するphp -v出力は次のようになります。 PHP ...
Web サービスは、アプリケーション間の通信に関係します。 WSDL は、XML ベースの Web ...
目次序文レンダリングの役割レンダリング機能の説明レンダリングとテンプレートの違いレンダリング例要約す...
1. MySQL 8.0.20をダウンロードして解凍するダウンロードリンク: https://dev...
コアコード <!DOCTYPE html> <html lang="ja...
https://docs.microsoft.com/ja-jp/windows/wsl/wsl-...
以下のように表示されます。 //managefee_managefee テーブルの年と月を照会し、c...
今日、Baiduのページで練習していたところ、検索ボックスとボタンの余白とパディングの値が0に設定さ...
表のキャプションは表の上または下に配置でき、プロパティで調整できます。デフォルトのテーブル タイトル...
フラットなウェブサイト構造の本質はシンプルさです。コンテンツの重要なポイントを強調し、ページの装飾効...
フローティングの基礎標準ドキュメント フローでは、要素は塊級元素と行內元素の 2 種類に分けられます...
Docker の使用中に、いくつかの問題が発見されました。npm install や bundle ...
目次序文axiosカプセル化の利点パッケージのアイデア設定の優先順位axiosインスタンス構成1. ...