가능한 경우 Angular의 입력 지시문을 확장하는 것이 궁금한가요? 페이지의 모든 입력 필드에 일부 리스너를 연결하려고합니다. 나는 당신이 $provide.decorate
으로 기존 모듈을 장식 할 수 있다고 생각하지만, 나는 지시어 (그리고 더 정확하게는 입력 지시어)로 이것을 어떻게하는지 모른다.AngularJS : extend input directive
그럼, 누가 올바른 방향으로 나를 밀 수 있습니까? 몇 가지 예가 있습니까?
내보기에서angular.module('onFocusBlur').
directive('onFocusBlur', ["$rootScope", function($rootScope) {
return {
restrict: "A",
link: function(scope, elem, attrs) {
elem.bind('focus',function() {
scope.$apply(function() {
$rootScope[attrs.onFocusBlur] = true;
});
});
elem.bind('blur',function() {
scope.$apply(function() {
$rootScope[attrs.onFocusBlur] = false;
});
});
}
};
}]);
, 나는이 같은 입력 필드에이를 추가 할 수 있습니다 :
<input type="email" ng-model="email" on-focus-blur="repositionNavBar">
여기에 편집
는 지금까지이 나의 지시이다 단점은 모든 입력 필드에 대해이 리스너를 코드에 수동으로 첨부해야한다는 것입니다. 따라서 기존 입력 지시문을 변경하여이 수신기를 포함하는 것이 유용합니다.
당신이 말하는 청취자의 유형은 무엇입니까? –
[확장 각도 명령] (http://stackoverflow.com/questions/17005122/extending-angular-directive) –
당신의 의견에 대한 내 기존 지시어 – 23tux