我想知道是否有可能扩展Angular的输入指令?我想将一些侦听器附加到页面上的所有输入字段。我认为您可以使用来装饰现有模块$provide.decorate,但我不知道如何使用指令(更确切地说是输入指令)来完成此操作。
$provide.decorate
那么,谁能将我推向正确的方向呢?一些例子?
编辑
到目前为止,这是我的指令:
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">
缺点是,对于每个输入字段,我都必须在代码中手动附加此侦听器。因此,更改现有的输入指令以包括此侦听器将很有用。
您可以轻松扩展任何指令-包括输入指令。 这是将类添加到指令的快速示例。