Skip to content

Instantly share code, notes, and snippets.

@surjikal
Forked from NV/converter.js
Created June 6, 2014 23:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save surjikal/3e65bded9716eb627deb to your computer and use it in GitHub Desktop.
Save surjikal/3e65bded9716eb627deb to your computer and use it in GitHub Desktop.
var app = angular.module('converter', []);
app.directive('converter', function(converters) {
return {
require: 'ngModel',
link: function(scope, element, attr, ngModel) {
var converter = converters[attr.converter];
ngModel.$formatters.unshift(converter.formatter);
ngModel.$parsers.push(converter.parser);
},
controller: function($scope, $element) {
}
};
});
app.value('converters', {
c2f: {
formatter: function(c) {
return 9 / 5 * parseFloat(c) + 32;
},
parser: function(f) {
return 5 / 9 * (f - 32);
}
}
});
<html ng-app="converter">
<head>
<meta charset="utf-8">
<title>Temperature Converter</title>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
<script src="converter.js"></script>
</head>
<body>
<div>
<input type="number" ng-model="a">℃ ⟷
<input type="number" ng-model="a" converter="c2f">℉
</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment