Empty fiddle for angularjs

by Stepan Kasyanenko

HTML

<div ng-app="ExampleApp">
  <div ng-controller="ExampleController">
   <input ng-model="text">
    <button ng-click="action()">
      Action
    </button>
  </div>
  <div ng-controller="SecondController">
    <button ng-click="subscribe()">
      run Promise
    </button>
    {{textFromExampleCtrl}}
  </div>
</div>

CSS

.error {
  color: red;
  font-style: italic;
}

JavaScript

angular.module('ExampleApp', [])
  .controller('ExampleController', function($scope, mainService) {
    $scope.text = "ok";
    $scope.action = function() {
      mainService.resolve($scope.text);
    }
  })
  .controller('SecondController', function($scope, mainService) {
    $scope.subscribe = function() {
      mainService.myPromise().then(filterpanel);
    }

    function filterpanel(handle) {
      $scope.textFromExampleCtrl = handle;
      console.log('from SecondController', handle);
    }
  })
  .service('mainService', function($q) {
    var promise = null;
    var deferred = null;
    return {
      myPromise: function() {

        deferred = $q.defer();
        promise = deferred.promise;

        return promise;

      },
      resolve: function(val) {
        if (deferred)
          deferred.resolve(val);
      }
    }
  });