Chapter 10: DRYing up your controllers

HTML

<script src="https://code.angularjs.org/1.3.2/angular.min.js"></script>
<div ng-app="myApp">
    <div ng-controller="Ctrl">
        <pre>{{ team | json }}</pre>
        <pre>{{ player | json }}</pre>
        <button ng-click="trade()">Trade</button>
        <button ng-click="drop()">Drop</button>
    </div>
</div>

JavaScript

angular.module('myApp', [])
.controller('Ctrl', function($scope) {
    angular.extend($scope, {
        team: {
            name: 'Bears',
            city: 'Chicago'
        },
        player: {
            name: 'Jake Hsu',
            team: 'Bears',
            number: 29,
            position:'RB'
        },
        trade: function(player1, player2) {
            //  $scope.trade() logic
            console.log('trade invoke');
        },
        drop: function(player) {
           console.log('drop invoke');
        }
    });
});