refactoring - AngularJS: Refactor code logic within multiple directives -
i have bunch of directives , share same logic:
angular.module('playrapp').directive('oneofmydirective', [ function() { 'use strict'; return { restrict: 'e', replace: true, scope: { listeners: '@' }, link: function($scope, $element) { $scope.listeners = [].concat(($scope.listeners||'').split(' ')); _.foreach($scope.listeners, function(listener){ $scope.$on(listener, $scope['on'+listener]); }); }, unlink: function($scope, $element) { _.foreach($scope.listeners, function(listener){ $scope.$off(listener, $scope['on'+listener]); }); }, controller: ['$scope', '$element', function($scope, $element) { $scope.onmycustomevent1 = function() { // handle event }; $scope.onmycustomevent2 = function() { // handle event }; }] } ]); so can use them activating listeners or not depending on need:
<!-- --> <oneofmydirective></oneofmydirective> <!-- , --> <oneofmydirective listeners="mycustomevent1 mycustomevent2"></oneofmydirective> how can refactor code share within every directive?
Comments
Post a Comment