Example for stackoverflow. Reuse function

useFormError is a angularjs directive, which is designed to create custom checks

by Stepan Kasyanenko

HTML

<script src="https://cdn.rawgit.com/Stepan-Kasyanenko/use-form-error/master/src/use-form-error.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular-messages.min.js"></script>
<div ng-app="ExampleApp">
  <div ng-controller="ExampleOneController">
    <h3>
      ExampleOneController
    </h3>
    <form name="ExampleForm">
     Reusable variable: {{reusable.varReuse}}
      <br>
     Reusable variable singleton: {{singleton.varReuse}}
     <br>
     <button ng-click="reusable.imReuseFunction('one')">
       Reuse me
     </button>
     <button ng-click="singleton.imReuseFunction('one')">
       Reuse me singleton
     </button>
    </form>

  </div>
  <hr>
  <div ng-controller="ExampleTwoController">
    <h3>
      ExampleTwoController
    </h3>
    <form name="ExampleForm">
     Reusable variable: {{reusable.varReuse}}
     <br>
     Reusable variable singleton: {{singleton.varReuse}}
     <br>
     <button ng-click="reusable.imReuseFunction('two')">
       Reuse me
     </button>
     <button ng-click="singleton.imReuseFunction('two')">
       Reuse me singleton
     </button>
    </form>

  </div>
</div>

CSS

.errors {
  color: maroon
}

JavaScript

angular.module('ExampleApp', ['use', 'ngMessages'])
  .controller('ExampleOneController', function($scope,ReuseService) {
   	//We need do copy, because ReuseService is singleton 
    $scope.reusable = angular.copy(ReuseService);    
     $scope.singleton =ReuseService;
  })
  .controller('ExampleTwoController', function($scope,ReuseService) {
   //We need do copy, because ReuseService is singleton 
   	$scope.reusable = angular.copy(ReuseService); 
    $scope.singleton =ReuseService;
  })
  .service('ReuseService',function(){
  	return {
     varReuse:'im not using yet',
     imReuseFunction:function(val){
       this.varReuse = val;
     }
    }
  });