I'm very new to AngularJS, so it's possible I'm asking the entirely wrong question. What I'm trying to accomplish is create a reusable class with data binding in a single app. The following demonstrates what I'm trying to accomplish with a very simple example.
Say I want to create a counter with a value and an increment method. I can create a service and use it in a controller like so:
angular.module("fiddle", ["counter"])
.controller("MainCtrl", function($scope, counter) {
$scope.counter = counter;
});
angular.module("counter", [])
.service("counter", function() {
this.count = 0;
this.increment = function(x) {
this.count += x;
};
});
Then I can display a view to add a counter:
<h1>Count: {{counter.count}}</h1>
<button ng-click="counter.increment(1)">Add 1</button>
<button ng-click="counter.increment(5)">Add 5</button>
<button ng-click="counter.increment(10)">Add 10</button>
This works fine for one counter, but what if I want to have multiple counters in the same controller? Since the service is a singleton, I can't do that. What's the best approach for creating something like this with Angular given that other services would be much more complex? Thanks!