Angular: Empty Fiddle

http://angularjs.org/

by Dirk Postma

HTML

<script src="https://code.angularjs.org/1.5.3/angular.js"></script>
<div ng-controller="MyCtrl">
  <p>
    Threads: {{ tableNameForThreads }}
  </p>
  <p>
    Posts: {{ tableNameForPosts }}
  </p>
</div>

JavaScript

var myApp = angular.module('myApp',[]);

angular.module('myApp').controller('MyCtrl', MyCtrl);
angular.module('myApp').factory('BaseModel', BaseModel);
angular.module('myApp').factory('ThreadModel', ThreadModel);
angular.module('myApp').factory('PostModel', PostModel);

function MyCtrl($scope, ThreadModel, PostModel) {
  $scope.tableNameForThreads = ThreadModel.getTableName();
  $scope.tableNameForPosts = PostModel.getTableName();
}

function BaseModel() {
  var tableName = "";
        
  var service = {
    init: init,
    getTableName: getTableName
  };

  return service;

  function getTableName() {
    return tableName;
  }

  function init(theTableName) {
    tableName = theTableName;
  }
}

function ThreadModel(BaseModel) {
  var service = Object.create(BaseModel);
  //var service = angular.copy(BaseModel, this);
  service.init("threads");
  return service;
}

function PostModel(BaseModel) {
  var service = Object.create(BaseModel);
  //var service = angular.copy(BaseModel, this);
  service.init("posts");
  return service;
}