AngularJS : basic controller As VM using a Decorator

AngularJS : basic controller As VM using a Decorator for value change interceptor.

by Daan De Smedt

HTML

<div ng-app="app" ng-controller="BasicController as vm">
  Hello, {{vm.movieTitle}}!
</div>

JavaScript

angular
  .module('app', [])
  .value('movieTitle', 'The Matrix')
  .controller('BasicController', BasicController)
  .config(function($provide) {
    $provide.decorator('movieTitle', function($delegate) {
      return $delegate + ' - starring a AngularJS Decorator';
    });
  });

function BasicController(movieTitle) {
  /* declare VM */
  var vm = this;
  /* set constant to VM */
  vm.movieTitle = movieTitle;
}