ビジネス開発では、バックエンドから返されたインターフェース データに基づいて、フロントエンドがそれをオブジェクト オブジェクトに保存するという状況によく遭遇します。フロントエンドの開発プロセスでは、いくつかのシナリオの利便性のために、オブジェクトに対応する属性を追加する必要がありますが、これらの属性はバックエンドにとって無意味であるため、保存して送信するときに削除することを望みます。 実際のビジネスコード: 保存する前に、対応する 非同期saveData(タイプ、データ){ // 送信時に余分なフィールドを削除する削除 data.isCommonValue データを削除する。isRemoteValue これを待ちます。$request({ ...API.EDIT_SERVICE、 メソッド: type === 'add' ? 'post' : 'put', データ }) } 上記は一般的な書き方ですが、シナリオによっては最善の方法ではなく、副作用が生じる可能性があります。例として以下を説明します。 例上記の状況をよりわかりやすく示すために、例を書き直します (実装を説明するためだけに)。 人 = { id: '001', 名前: 'リガン', メールアドレス: '[email protected]' } リクエスト: バックエンドに送信するときに、電子メール フィールドを削除する必要があります。 方法1: 削除上記のビジネスコード処理方法と同じ person.email を削除する console.log(person) // {id: '001', name: 'ligang'} 元のデータ内の関連属性も削除されます。 Reflect.deleteProperty(人、'メール') 方法2: 分解元のオブジェクトが参照される場合の副作用を回避しながら、新しいオブジェクトを形成します。 {id, name} = 人とする newPerson = {id, name} とします。 console.log(newPerson) // {id: '001'、名前: 'ligang'} 元のデータへの参照は切り取られます。この方法は、保持される属性が少ない場合には単純で理解しやすいですが、保持される属性が多すぎる場合には複雑になります。 {email, ...newPerson} = 人とする console.log(newPerson) // {id: '001'、名前: 'ligang'} 元のデータへの参照は切り取られます。この方法は、保持する属性の数が多い場合には単純で理解しやすいですが、保持する属性の数が少ない場合には複雑になります。 補充するVue では、既に作成されたインスタンスにルートレベルのレスポンシブ プロパティを動的に追加することはできません。以下の方法は無効です。 this.$set(this, 'email', '') this.$set(this.$data, 'email', '') 要約する実際の使用においては、元のデータに影響を与えないように方法 2 を使用することを強くお勧めします。特に mvvm フレームワークでは、元のデータが応答していることが多いです。delete データ () { 戻る { 人: 名前: 'リガン', メールアドレス: '[email protected]' } } }, メソッド: { 削除プロパティ() { この人物のメールを削除 // this.$delete(this.person, 'email') }, プロパティを追加します(){ this.person.email = 'xxx' this.$set(this.person, 'address', 'xxx') } } 1. 2. 1. 2. この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: 純粋な CSS3 でペットの鶏のサンプルコードを実現
>>: MySQLデータベースでコマンドを自動補完する3つの方法
Linux では、ハードディスクの追加やパーティションの再マウントといった状況に頻繁に遭遇します。こ...
1. スロークエリの用途は何ですか? long_query_time を超えて実行されるすべての S...
目次序文1. JSで関数を書く方法1. 通常の関数の書き方2. 矢印関数の書き方2. 通常の関数でこ...
準備1. GPUがCUDAをサポートしているかどうかを確認するlspci | grep -i nvi...
OracleデータベースからエクスポートされたデータをMySqlデータベースにインポートします。 1...
要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS....
1. インデックスの重要性インデックスは、列に特定の値を持つ行をすばやく見つけるために使用されます。...
textarea の形式は保存時にデータベースに保存できますが、表示時には /n と相互に変換できな...
この記事では、JSオブジェクト指向タイピングゲームの具体的なコードを参考までに紹介します。具体的な内...
概要: MYSQLの問題解決記録:どのようなインストール方法 (rpm、gz、gz.xz) を使用す...
最初のステップはTypeScriptをグローバルにインストールすることですnpmを使用してインストー...
目次概要4つの例例1: 誕生日で説明する約束の基本例2: 数字当てゲーム例3: Web APIから国...
以前は、Web ページのプリンタ対応バージョンを作成するには、印刷したときに見栄えがよくなるようにレ...
目次1. ノードをインストールする2. Commander.jsをインストールする3. JavaSc...
1. CSSファイルの命名規則提案: 文字、_、-、数字を使用します。文字で始まる必要があり、純粋な...