Моё ИМХО:
1) Директива калькулятор вообще странная, но оставим её пока.
2) Делайте отдельную директиву, которая будет вешать спинер на элемент аналогично:
angular.module('imr.ui.date', [])
.directive('datepicker', function () {
return {
restrict: 'A',
require : 'ngModel',
link : function (scope, element, attrs, ngModelCtrl) {
var opts = {
dateFormat: 'mm/dd/yy',
changeYear: true,
onSelect : function (date) {
ngModelCtrl.$setViewValue(date);
scope.$apply();
}
}
if (!(attrs.hasOwnProperty('ngReadonly') && scope.$eval(attrs.ngReadonly))) {
$(function () {
//тут вешайте ваш спиннер
element.datepicker(opts);
});
}
}
}
});
;
<input type="number" id="spinner" ng-model="SecondVal" spinner><br>