Sharing Top Content from the Angular-sphere.

Everything you should know about $formatters and $parsers

  • You can also add another Pen and it will pull the CSS from it.
  • You can also link to another Pen and we’ll pull the CSS from that Pen and include it.
  • You can also link to another Pen and we’ll pull the JavaScript from that Pen and include it.
  • You can apply CSS to your Pen from any stylesheet on the web.
  • Just put a URL to it and we’ll apply it, in the order you have them, before the CSS in the Pen itself.



@ng_real_ninja: Great simple demo on $formatters and $parsers – #angularjs #webdev

HTML preprocessors can make writing HTML more powerful or convenient. For instance, Markdown is designed to be easier to write and read for text documents and you could write a loop in Pug.

Learn more · Versions

tag. If you want to add classes there, that can effect the whole document, this is the place to do it.

CSS preprocessors help make authoring CSS easier. All of them offer things like variables and mixins to provide convenient abstractions.

It’s a common practice to apply CSS to a page that styles elements such that they are consistent across all browsers. We offer two of the most popular choices: normalize.css and a reset. Or, chose Neither and nothing will be applied.

We offer two popular choices: Autoprefixer (which processes your CSS server-side) and -prefix-free (which applies prefixes via a script, client-side).

These stylesheets will be added in this order and before the code you write in the CSS editor. You can also add another Pen here, and it will pull the CSS from it. Try typing “font” or “ribbon” below.

You can apply CSS to your Pen from any stylesheet on the web. Just put a URL to it here and we’ll apply it, in the order you have them, before the CSS in the Pen itself.

If the stylesheet you link to has the file extension of a preprocessor, we’ll attempt to process it before applying.

You can also link to another Pen here, and we’ll pull the CSS from that Pen and include it. If it’s using a matching preprocessor, we’ll combine the code before preprocessing, so you can use the linked Pen as a true dependency.

Learn more

JavaScript preprocessors can help make authoring JavaScript easier and more convenient. For instance, CoffeeScript can help prevent easy-to-make mistakes and offer a cleaner syntax and Babel can bring ECMAScript 6 features to browsers that only support ECMAScript 5.

These scripts will run in this order and before the code in the JavaScript editor. You can also link to another Pen here, and it will run the JavaScript from it. Also try typing the name of any popular library.

You can apply a script from anywhere on the web to your Pen. Just put a URL to it here and we’ll add it, in the order you have them, before the JavaScript in the Pen itself.

If the script you link to has the file extension of a preprocessor, we’ll attempt to process it before applying.

You can also link to another Pen here, and we’ll pull the JavaScript from that Pen and include it. If it’s using a matching preprocessor, we’ll combine the code before preprocessing, so you can use the linked Pen as a true dependency.

Learn more

angular.module(‘MyApp’, []) .controller(‘myController’, [‘$scope’, myController]) .directive(‘myFormatterParser’, myFormatterParser); function myController($scope){ $scope.data = “9876543210”; } function myFormatterParser(){ return { restrict: ‘A’, require: ‘ngModel’, link: function (scope, element, attrs, modelCtrl) { // function that strips off characters other than numbers var getNumbers = function (inputValue) { if (!inputValue) { return ”; } // retrieve numbers from the string var thenum = inputValue.replace( /[^\d\.]*/g, ”); // if the input does not match expected value.. change the rendered view to correct format if (thenum !== inputValue) { modelCtrl.$setViewValue(thenum); // view value is updated modelCtrl.$render(); // view is updated } // return only the numbers from string return thenum; }; // when user changes input value from DOM modelCtrl.$parsers.push(function (modelValue) { var value = getNumbers(modelValue); return value; }); // when model value is updated modelCtrl.$formatters.push(function (modelValue) { var value = getNumbers(modelValue); return value; }); } }; }

As a PRO member, you can drag-and-drop upload files here to use as resources. Images, Libraries, JSON data… anything you want. You can even edit them anytime, like any other code on CodePen.

Everything you should know about $formatters and $parsers

Comments are closed, but trackbacks and pingbacks are open.