Angular: Empty Fiddle
http://angularjs.org/
HTML
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="http://cdn.rawgit.com/wilq32/jqueryrotate/master/jQueryRotate.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.6/angular.min.js"></script>
<img src="https://www.google.com/images/srpr/logo3w.png" id="image_1">
<div ng-app="DispAngleApp" ng-controller="AppCtrl as app">
<p><span class="alfa">α = {{angle1}}°</span></p>
<input type = "text"
id = "ang_1"
maxlength = "3"
onfocus = "this.value = parseInt(value) || ''"
onblur = "this.value = parseInt(value) || '0'"
ng-change = "minmax(angle1, 0, 360) || 0"
ng-model = "angle1"
ng-init = "angle1='0'" ><br>
<p><span class = "beta">β = {{angle2}}°</span></p>
<input type = "text"
id = "ang_2"
maxlength = "3"
onfocus = "this.value = parseInt(value) || ''"
onblur = "this.value = parseInt(value) || '0'"
ng-change = "minmax2(angle2, 0, 360) || 0"
ng-model = "angle2"
ng-init = "angle2='0'"><br>
<p>
<select size="1" ng-change="change_val(angle3)" ng-model="angle3" ng-options="option as option.name for option in data">
</select>
</p>
</div>
JavaScript
var myApp = angular.module('myApp',[]);
function AppCtrl($scope) {
$scope.data = [
{id:0, corner1: '0', corner2: '0', name: '0'},
{id:1, corner1: '90', corner2: '180', name: '90'},
{id:2, corner1: '180', corner2: '270', name: '180'},
{id:3, corner1: '270', corner2: '360', name: '270'}
];
$scope.angle3 = $scope.data[0];
$scope.change_val = function(angle3) {
$scope.angle1 = angle3.corner1;
$scope.angle2 = angle3.corner2;
console.log($scope.angle1 + ', ' + $scope.angle2);
// image rotation needs jquery.min.js, jQueryRotate.js, jquery.easing.min.js
var ang_1 = document.getElementById("ang_1");
ang_1 = $scope.angle1;
var angle_1 = parseInt(ang_1);
$("#image_1").rotate({ angle:$("#image_1").getRotateAngle(),center: ["54%", "55%"],animateTo:angle_1,easing: $.easing.easeInOutExpo });
};
};