1
저는 angular.js를 아직 처음 사용하고 있습니다. 이것은 매우 단순해야하는 것처럼 보이지만 나는 혼란 스럽습니다.필드에 사용자 입력이있을 때 ng-model은 값을 변경하지 않습니다.
내가 입력 필드가 있습니다
<input type="text" placeholder="Search" ng-model="search.txt">
을 그리고 난 내 컨트롤러에서이 함수를 호출하는 버튼이 NG를 클릭 : 버튼을 클릭
$scope.clearSearch = function() {
$scope.search = {txt:"qqqqq"};
}
동작합니다 예상대로 - 입력을 페이지의 값은 "qqqqq"가됩니다. 따라서 데이터 바인딩이 올바른 것처럼 보입니다.
그러나 필드에 아무 것도 입력하지 않고 단추를 누르면 입력 값이 페이지에서 변경되지 않습니다. 입력 필드는 입력 한 값을 유지합니다. 왜 그런가요?
필자가 실제로하려는 것은 필드를 명확히하기 위해서입니다. 그림에 "qqqqq"를 사용하고 있습니다. 값을 null로 설정하는 것은 동일한 동작입니다.
이 작동해야합니까? http://plnkr.co/edit/ –
전체 코드를 알려주십시오. 하위 범위를 만드는 ng-repeat 또는 다른 지시문 안에 있습니까? 컨트롤러의 시작 부분에'$ scope.search = {}; '를 놓고 무슨 일이 일어나는 지보십시오. [plnkr] (http://plnkr.co/edit/53rm586A1F7uDKMYw3cG) – PSL
이것은 이오닉 응용 프로그램 내부에 있으므로 코드 추출에 약간의 작업이 있지만 제안 사항이 효과가 있습니다. 이유를 완전히 이해하지 못합니다. 답변으로 게시하면 받아 들일 것입니다. –