Angular: Test of service for model with change detection

http://angularjs.org/

by marco_m_alves

HTML

<script src="http://code.angularjs.org/angular-1.0.0rc9.js"></script>
<div ng-controller="MyCtrl">
  <input type="text" ng-model="input">
    <button ng-click="addText()">add</button>
    {{data}}
</div>

JavaScript

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

myApp.factory('myData', function(){

    var data = {
        items: {0: "zero", 1: "one", 2: "two"},
        addItem: function(item){
data.items[Date.now() % 3] = item;            
        }
    };
    
    return data;
});


//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});

function MyCtrl($scope, myData) {
    
    $scope.data = undefined;
    
    $scope.data = myData.items;
    
    $scope.input = '';
    
    $scope.addText = function(){
        myData.addItem($scope.input);
    };
    
    $scope.$watch("data", function(){
        alert("data changed");
    }, true);
}