지시어에 해당 값을 변경하면 뷰 값이 클래스를 그의 값에 따라 input:text
에 추가합니다.
restrict: 'A',
require : 'ngModel',
link : function(scope, element, attrs, modelCtrl) {
function apply(input) {
// Simplified ..
if (input!=='Ooops' && isNaN(parseFloat(input)) {
modelCtrl.$setViewValue('Ooops');
element.addClass('is-nan');
return undefined;
}
}
modelCtrl.$parsers.push(apply);
}
값을 편집하면 올바르게 작동합니다. 그러나 클래스와 뷰 값이 설정되도록 요소가 각도로 바인딩되어있을 때 같은 논리를 적용하고 싶습니다.
기본적으로 지시문이 연결된 경우 apply
으로 전화를 걸고 싶습니다. 그래서 link
함수 끝에 apply(element.val())
을 추가하려고 시도했지만 element.val()
은 항상 비어 있습니다.
이 방법을 호출하기 위해 다른 라이프 사이클 후크를 사용해야하지만 찾지는 못한다고 생각합니다. 가능한 해결책은 link
대신 compile
을 사용할 수 있지만 DOM 변환을 수행하지 않으므로이 작업을 수행하지 않아도됩니다.
나는 modelCtrl.$observe('ngModel', ..)
을 시도했지만 다시 입력 값이 비어 있습니다.
지시문이 링크되었을 때 어떻게 뷰 논리를 적용 할 수 있습니까?
감사합니다.