2014-12-08 1 views
0

, 그는 폼에 이름을 지정하고 각도입력 데이터를 가져 오기 위해 양식 이름을 각도로 어떻게 사용합니까? <a href="http://tutorials.jenkov.com/angularjs/forms.html" rel="nofollow">Jenkov</a>하여이 튜토리얼에서는

에 다음

<form name="myFormNg" ng-submit="myForm.submitTheForm()" > 
    <input name="firstName" type="text" ng-model="myForm.firstName"> 
    </form> 

같은 예를 들어

$scope.FORM_NAME.INPUT_NAME 

하여 컨트롤러에 액세스 할 수 있다는 주장

$scope.myFormNg.firstName 

그러나 입력 상자 (abc)에 입력 한 내용을 가져 오는 대신이 방법을 사용하면이 문제가 발생합니다. 구멍 개체 :

{"$viewValue":"abc","$modelValue":"abc","$$rawModelValue":"abc","$validators":{},"$asyncValidators":{},"$parsers":[],"$formatters":[null],"$viewChangeListeners":[],"$untouched":false,"$touched":true,"$pristine":false,"$dirty":true,"$valid":true,"$invalid":false,"$error":{},"$$success":{"parse":true,"required":true},"$name":"email","$options":null,"$$lastCommittedViewValue":"abc"} 

왜? Jenkov가 생략 한 더 깨끗한 방법이 있습니까?

+0

"myForm.firstName"모델 속성으로 범위를 통해 액세스하지 않는 이유는 무엇입니까? – Chris

+0

"myForm"개체에 입력 된 내용이 포함되어 있습니다 ... 컨트롤러에서 console.log ($ scope.myForm)를 사용하십시오. –

+0

@Chris 양식을 명명하는 것이 더 적절한 방법이라고 생각했습니다. – CodyBugstein

답변

1

실제로 젠코프는 $scope.formName.inputName과 함께 ngModelController의 인스턴스를 얻습니다. (이 입력이 이미 바인드 된 경우에만 - ng-model 또는 다른 방식으로).

이 인스턴스에는 많은 용도가 있습니다. $ viewValue 속성을 통해 뷰 값을 다시 얻을 수 있습니다 (이 내용은 demo을 참조하십시오). 유효성 검사를 통과하는지 여부를 확인하십시오.하지만 여전히 문자열이 아니라 Object입니다.

+0

을 사용하면됩니다. 미안합니다. 고맙습니다! – CodyBugstein