윈도우 이벤트를 통해 인스턴스화 된 각도 $ scope 변수가 있습니다. $ scope 변수는 사용자에게 올바르게 표시되지만 ng-model을 통해 업데이트가 설정되지 않습니다. 이상한 점은 ng-change가 스코프 변수를 수동으로 설정하는 데 사용할 수있는 올바른 값을 가지고 있다는 것입니다.
나는 이것이 왜 일어나고 있는지 정말로 이해하지 못합니다.
이벤트 처리기 :
document.addEventListener('updateSearchBar', handleUpdate);
function handleUpdate(eventData) {
$scope.benefitsFromDate = eventData.detail.fromDate;
$scope.$apply();
}
프런트 엔드 :
<input
type="date"
name="fromDate"
ng-change="updateBenefitsFromDate(benefitsFromDate)"
ng-model="benefitsFromDate"
/>
<input
type="button"
value="Search"
class="btn btn-default"
ng-click="searchDocuments()"
ng-disabled="isSearchingDocuments"
/>
각도 조각은 :
$scope.updateBenefitsFromDate = function(change) {
console.log($scope.benefitsFromDate); //still has old value
console.log(change); //has updated value when param is the $scope variable
//$scope.benefitsFromDate = change; //only way to update
};
$scope.searchDocuments = function() {
//ng-model never updates the variable when the value is changed and uses the instantiated value
console.log($scope.benefitsFromDate);
};
왜 겨 모델은 변경 사항을 반영하지만, $ 범위를 통과하지 않습니다. benefits- 변경 함수의 FemDate에 업데이트 된 값이 있습니까?