I'm new to AngularJS, but I couldn't find answer to this:

I'm making a little game with AngularJS, where I have two "ng-repeat" divs, and in the controller I have an object, which I change in order to control the divs.

And I want on pressing "Enter" to add another element to the object, so more elements appear on the screen. BUT - when I add element(s) to the scope object this ng-repeat is bound to - it doesn't update the DOM.

(If I make $scope.$apply() - then it updates ... but my idea is this to happens automatically.)

Here is the code:

```
    <div id="game-container" ng-controller="GameController">
        <div class="{{row.class}}" data-row="{{$index+1}}" ng-repeat="row in stonesRows">
            <div class="stone" ng-repeat="stone in row.stones">{{stone.number}}</div>
        </div>
    </div>

```

And in the controller I have:

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

App.controller('GameController', function($scope, $timeout) {

    // and build the initial rows structure ..
    $scope.stonesRows = [
        {
            'class': 'stones-row built',
            'stones': [
                {
                    'class': 'empty',
                    'number': ''
                },
                {
                    'class': 'stone-2',
                    'number': '2'
                }
            ]
        },
        {
            'class': 'stones-row built',
            'stones': [
                {
                    'class': 'empty',
                    'number': ''
                },
                {
                    'class': 'empty',
                    'number': ''
                }
            ]
        }
    ];

    // start listen for the keyup event ..
    document.onkeyup = function(ev) {

        switch(ev.keyCode) {
            case 13:
                // create one more row ..
                $scope.stonesRows.push(
                    {
                        'class': 'stones-row built',
                        'stones': [
                            {
                                'class': 'empty',
                                'number': ''
                            },
                            {
                                'class': 'empty',
                                'number': ''
                            }
                        ]
                    }
                );

                break;
        }

    };

});

```

Am I missing something ? ... or ? ...