구성 요소의 컨트롤러에서 데이터가 포함 된 제목을 변경하면 입력 필드 (예 : ng-model="taxiCtrl.localTaxi.dest"
)가 비어있는 이상한 버그가 나타납니다. 중요한 부분은 처음에는 그 값이 공백이지만, 임의의 버튼에 console.log($scope.taxiCtrl.localTaxi.dest);
을 설정하면 클릭 한 후에 값이 있지만 필드가 비어있는 것입니다. 각도가 실제 값 대신 공백을 표시하는 이유가 있습니까? 성분 컨트롤러 측 ngModel이 값을 표시하지 않습니다.
1)
change recieved
taxi-select-item-controller.js:20 JbcurrentValue: Taxicar: "Green Clown Car"comp: "666"dest: "Botanica"id: "6663"number: ""psngrs: Array[1]time: "23:20"__proto__: ObjectpreviousValue: Taxicar: "Black Cadillac"comp: "111"dest: "Botanica"id: "121"number: ""psngrs: Array[1]time: "12:10"__proto__: Object__proto__: Object
taxi-select-item-controller.js:22 Taxicar: "Green Clown Car"comp: "666"dest: "Botanica"id: "6663"number: ""psngrs: Array[1]time: "23:20"__proto__: Objectconstructor: Taxi(taxi)__proto__: Object
taxi-select-item-controller.js:19
2 : 다음 로그 2 개의 상황이 존재
ctrl.$onChanges = function (changes) {
if (changes.taxi) {
console.log("change recieved");
console.log(changes.taxi);
ctrl.localTaxi = angular.copy(changes.taxi.currentValue);
console.log(ctrl.localTaxi);
}
};
가장 복잡한 부분은)
change recieved
taxi-select-item-controller.js:20 JbcurrentValue: Taxicar: "Green Clown Car"comp: "666"dest: "Botanica"id: "127"number: ""psngrs: Array[2]0: "just"1: "DO_IT"length: 2__proto__: Array[0]time: "23:20"__proto__: ObjectpreviousValue: Taxicar: "Black Cadillac"comp: "111"dest: "Botanica"id: "121"number: ""psngrs: Array[1]time: "12:10"__proto__: Object__proto__: Object
taxi-select-item-controller.js:22 Taxicar: "Green Clown Car"comp: "666"dest: "Botanica"id: "127"number: ""psngrs: Array[2]time: "23:20"__proto__: Object
taxi-select-item-controller.js:19
컨트롤러에서 수신하는 객체는 동일하지만 첫 번째 인스턴스는 ngModels에 새 객체의 데이터를 표시하고 두 번째 인스턴스는 공백을 표시합니다.
[mcve]를 제공해 주시겠습니까? :) – Mistalis