AngularJS の双方向バインディング機能は確かに非常に便利ですが、実際に使用するといくつかの問題に遭遇しました。最初に ng-repeat を使用してデータを繰り返し表示しました (項目データ)を作成し、関連付けられたモーダル ダイアログ ボックスで変更機能を提供します(ng-model を使用して、対応する項目をモーダル フォームにバインドします)が、双方向バインディングのため、保存ボタンがクリックされていなくても、ダイアログ内でボックス この変更は、ページ上の表示データにもリアルタイムで影響を与えるため、エクスペリエンスに影響します。何か良い解決策はありますか?また、jsの中間変数を使用して変更前のデータを保存しようとしましたが、項目が変更されると中間変数も変更されます。
関連コード
html:
JS:
リーリー
angular.copy(item)
angular.copy(item)
应该在modal里使用一个对象的副本,在用户点击确认后,再将修改提交的副本覆盖掉原来的数据。
使用
オブジェクトのコピーをモーダルで使用する必要があります。ユーザーがクリックして確認すると、変更されて送信されたコピーが元のデータを上書きします。angualr.copy
angualr.copy
を使用する理由は、オブジェクトの参照を別の変数に代入するだけでは、目的の効果が得られないためです。ソースのディープコピーを作成します。これはオブジェクトまたは配列である必要があります。
🎜 🎜https://docs.angularjs.org/api/ng/function/angular.copy🎜