2014-07-31 3 views
0

내에서 유효성을 형성하는 $ 유효한 속성 (및 기타 유사한 것들) $의 scope.formname.inputname에 액세스 할 수 있습니다. $ 컨트롤러에서 유효합니다 .. 나는 주위에 해본 적이AngularJS와 내가 아는 바로는 컨트롤러

이 : http://plnkr.co/edit/oEfdMpI3URooJhRFfSUr?p=preview

this.validity = $scope.myForm.input.$valid; //ADDED THIS LINE 

왜 script.js에 추가 된이 한 줄은 휴식합니까? 나는 {{ctrl.validity}}이 (가) 사실로 나타나기를 기대합니다.

답변

0

컨트롤러의 생성자에 해당 행을 추가했습니다.

생성자 인스턴스가 만들어 질 때까지보기의 양식이 아직 컴파일되지 않았습니다.

작동하기 위해이 같은 라인의 실행을 연기 할 $timeout를 사용해보십시오 :

var ctrl = this; 

$timeout(function() { 
    ctrl.validity = $scope.myForm.input.$valid; //ADDED THIS LINE 
}); 

을 아니면 동기화를 유지하려는 경우, $watch 사용

$scope.$watch('myForm.input.$valid', function (isValid) { 
    ctrl.validity = isValid; 
}); 

희망이 도움이됩니다.