2016-07-13 2 views
1

앵귤러 1.x (구체적으로 1.4.4) (documentation here)의 포맷터에 대한 기본 파서가 있다면 배열에 새 처리기를 추가 할 때 어떤 경우에 unshift을 수행해야 하는지를 이해해야합니다.Angular 1.x에 기본 파서/포맷터가 있습니까?

예 : 파서 :

컨트롤이 DOM에서 값을 읽을 때마다 파이프 라인으로 실행할 함수 배열.

처음에는이 (및 포맷터) 배열이 비 었습니까?

답변

1

예, 파서 또는 포매터 추가 취소]해야합니다

$parsers$formatters 기본적으로 비어 있습니다 귀찮게을;

function yourFormat() { 
 
\t return { 
 
\t \t require: 'ngModel', 
 
\t \t link: function ($scope, $elem, $attrs, $ctrl) { 
 
\t \t  var ngModelCtrl = $ctrl; 
 
\t \t \t console.log(ngModelCtrl.$formatters); 
 
\t \t \t console.log(ngModelCtrl.$parsers); 
 

 
\t \t \t console.log("adding parsers and formatters"); 
 

 
\t \t \t ngModelCtrl.$formatters.unshift(function (value) { 
 
\t \t \t \t return value + "+"; 
 
\t \t \t }); 
 

 
\t \t \t ngModelCtrl.$parsers.unshift(function (value) { 
 
\t \t \t \t return value + "-"; 
 
\t \t \t }); 
 

 
\t \t \t console.log(ngModelCtrl.$formatters); 
 
\t \t \t console.log(ngModelCtrl.$parsers); 
 
\t \t } 
 
\t } 
 
} 
 
function YourController() { 
 
    this.yourmodel = {}; 
 
} 
 

 
angular 
 
\t .module('app', []); 
 
angular 
 
\t .module('app') 
 
\t .directive('yourFormat', yourFormat) 
 
     .controller('YourController', YourController);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.min.js"></script> 
 
<div ng-app="app"> 
 
<form ng-controller="YourController as c"> 
 
    <your-format ng-model="c.yourmodel"></your-format> 
 
</form> 
 
</div>

+0

안녕하세요! 그리고 ** 처음에이 (및 포맷터) 배열이 비어 있습니까? ** – zmii

+0

@zmii 응답이 스 니펫으로 편집되었습니다. – gyc

관련 문제