AngularJS의 양방향 바인딩 기능은 정말 유용하지만 실제 사용 시 몇 가지 문제에 직면했습니다. 먼저 ng-repeat를 사용하여 데이터를 반복적으로 표시했습니다(항목 데이터) 후 관련 모달 대화 상자에서 수정 기능을 제공합니다(ng-model을 사용하여 해당 항목을 모달 형식에 바인딩). 그러나 양방향 바인딩으로 인해 저장 버튼을 클릭하지 않아도 대화 상자에서 상자 수정은 페이지의 실시간 표시 데이터에도 영향을 미치며 이는 경험에 영향을 미칩니다. 또한 수정되지 않은 데이터를 저장하기 위해 js에서 중간 변수를 사용하려고 시도했지만 항목이 변경되면 중간 변수도 변경됩니다.
관련 코드
HTML:
JS:
으아악
angular.copy(항목)
angular.copy(item)
应该在modal里使用一个对象的副本,在用户点击确认后,再将修改提交的副本覆盖掉原来的数据。
使用
객체의 복사본이 모달에서 사용되어야 합니다. 사용자가 확인을 클릭하면 수정 및 제출된 복사본이 원본 데이터를 덮어쓰게 됩니다.angualr.copy
angualr.copy
를 사용하는 이유는 단순히 객체의 참조를 다른 변수에 할당하는 것만으로는 원하는 효과를 얻을 수 없기 때문입니다.객체 또는 배열이어야 하는 소스의 전체 복사본을 생성합니다.
🎜 🎜https://docs.angularjs.org/api/ng/function/angular.copy🎜