Пример использование getterSetter

by russianpenguin

HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js"></script>
<div ng-app="app">
    <div ng-controller="mainCtrl">
        <select ng-options="item.name for item in items.items" ng-model="items.value" ng-model-options="{getterSetter: true}">

        </select>
        <div>
            {{items.value().name}}
        </div>
    </div>
</div>

JavaScript

angular.module('app', [])

angular.module('app').service('items', [function() {
    var selected = null;
    
	this.items = [
        {id: 1, name: 'one'},
        {id: 2, name: 'two'}
    ]
    
    this.value = function(value) {
    	if (arguments.length > 0) {
        	return selected = value
        } else {
        	return selected
        }
    }
}])

angular.module('app').controller('mainCtrl', ['$scope', 'items', function($scope, items) {
    $scope.items = items
}]);