{"metadata":{"image":[],"title":"","description":""},"api":{"url":"","auth":"required","results":{"codes":[]},"settings":"","params":[]},"next":{"description":"","pages":[]},"title":"Learn angular-formly","type":"basic","slug":"learn-angular-formly","excerpt":"Resources for learning angular-formly","body":"[block:api-header]\n{\n \"type\": \"basic\",\n \"title\": \"Introduction Tutorial\"\n}\n[/block]\n[Ryan Chenkie](https://twitter.com/ryanchenkie) wrote a fantastic introduction to angular-formly for [Scotch.io](https://scotch.io/). Read it [here](https://scotch.io/tutorials/easy-angularjs-forms-with-angular-formly).\n[block:api-header]\n{\n \"type\": \"basic\",\n \"title\": \"Egghead.io lessons\"\n}\n[/block]\n# [Playlist](https://egghead.io/playlists/advanced-angular-forms-with-angular-formly)\n\nEgghead.io has all of these lessons on the site as a playlist [here](https://egghead.io/playlists/advanced-angular-forms-with-angular-formly)\n\n# [Introduction](https://egghead.io/lessons/angularjs-introduction-to-angular-formly?pl=7)\n\n[Getting Started with angular-formly](doc:getting-started) \n[block:embed]\n{\n \"html\": false,\n \"url\": \"https://fast.wistia.net/embed/iframe/pu75pur4dp\",\n \"title\": \"egghead-introduction-to-angularformly.mp4\",\n \"favicon\": \"https://fast.wistia.net/favicon.ico\",\n \"image\": \"https://embed-ssl.wistia.com/deliveries/5f62fb0cf5aec455a0f98bbd3b48fdf6927a1d0c.jpg?image_crop_resized=640x360\",\n \"iframe\": true\n}\n[/block]\n# [Custom Templates](https://egghead.io/lessons/angularjs-angular-formly-custom-templates?pl=7)\n\n[Custom Templates](doc:custom-templates) \n[block:embed]\n{\n \"html\": false,\n \"url\": \"https://fast.wistia.net/embed/iframe/797jmybs3e\",\n \"title\": \"egghead-angularformly-custom-templates.mp4\",\n \"favicon\": \"https://fast.wistia.net/favicon.ico\",\n \"image\": \"https://embed-ssl.wistia.com/deliveries/7fe0fd931b53c5c62b46ff04b4283b12a150b9ea.jpg?image_crop_resized=640x360\",\n \"iframe\": true\n}\n[/block]\n# [Custom Validation](https://egghead.io/lessons/angularjs-angular-formly-custom-validation?pl=7)\n\n[Validation](doc:validation) \n[block:embed]\n{\n \"html\": false,\n \"url\": \"https://fast.wistia.net/embed/iframe/jpj5m74ndi\",\n \"title\": \"egghead-angularformly-custom-validation.mp4\",\n \"favicon\": \"https://fast.wistia.net/favicon.ico\",\n \"image\": \"https://embed-ssl.wistia.com/deliveries/f285e64275e9e2704f032d78176c64b953fa3250.jpg?image_crop_resized=640x360\",\n \"iframe\": true\n}\n[/block]\n# [Expression Properties](https://egghead.io/lessons/angularjs-angular-formly-expressionproperties?pl=7)\n\n[Formly Expressions](doc:formly-expressions), [Field Configuration Object](doc:field-configuration-object) \n[block:callout]\n{\n \"type\": \"warning\",\n \"title\": \"hideExpression\",\n \"body\": \"In this lesson, I demonstrate how to use `expressionProperties` using `hide`. Due to how `ng-if` works, this wont always work very reliably, so the beta release of 6.4.0 introduces `hideExpression` which works *almost* exactly the same as a normal expression property. See [this example](http://angular-formly.com/#/example/field-options/hide-fields)\"\n}\n[/block]\n\n[block:embed]\n{\n \"html\": false,\n \"url\": \"https://fast.wistia.net/embed/iframe/4jqayiaxiz\",\n \"title\": \"egghead-angularformly-expressionproperties.mp4\",\n \"favicon\": \"https://fast.wistia.net/favicon.ico\",\n \"image\": \"https://embed-ssl.wistia.com/deliveries/413fd1dfdbbc95adeca76cd1e85aa6e03a5a963e.jpg?image_crop_resized=640x360\",\n \"iframe\": true\n}\n[/block]\n# [templateOptions](https://egghead.io/lessons/angularjs-angular-formly-templateoptions?pl=7)\n\n[Field Configuration Object](doc:field-configuration-object)\n[block:embed]\n{\n \"html\": false,\n \"url\": \"https://fast.wistia.net/embed/iframe/ca4i1x9e7v\",\n \"title\": \"egghead-angularformly-templateoptions.mp4\",\n \"favicon\": \"https://fast.wistia.net/favicon.ico\",\n \"image\": \"https://embed-ssl.wistia.com/deliveries/a04b9b997c4fe96d6d0500ad8f0b0009fc8d86f1.jpg?image_crop_resized=640x360\",\n \"iframe\": true\n}\n[/block]\n# [defaultValue](https://egghead.io/lessons/angularjs-angular-formly-default-values?pl=7)\n\n[Field Configuration Object](doc:field-configuration-object) \n[block:embed]\n{\n \"html\": false,\n \"url\": \"https://fast.wistia.net/embed/iframe/psqelqs0ik\",\n \"title\": \"egghead-angularformly-default-values.mp4\",\n \"favicon\": \"https://fast.wistia.net/favicon.ico\",\n \"image\": \"https://embed-ssl.wistia.com/deliveries/c99fdfda220c0e27c6b0edac3267268ada7c4f13.jpg?image_crop_resized=640x360\",\n \"iframe\": true\n}\n[/block]\n# [Default Options](https://egghead.io/lessons/angularjs-angular-formly-default-options?pl=7)\n\n[Field Configuration Object](doc:field-configuration-object), [formlyConfig](doc:formlyconfig) \n[block:embed]\n{\n \"html\": false,\n \"url\": \"https://fast.wistia.net/embed/iframe/f1ursrmv98\",\n \"title\": \"egghead-angularformly-default-options.mp4\",\n \"favicon\": \"https://fast.wistia.net/favicon.ico\",\n \"image\": \"https://embed-ssl.wistia.com/deliveries/a6046cfeb77ff186eb203976e09e9a7525eeb7bd.jpg?image_crop_resized=640x360\",\n \"iframe\": true\n}\n[/block]\n# [Extending Types](https://egghead.io/lessons/angularjs-angular-formly-extending-types?pl=7)\n\n[formlyConfig](doc:formlyconfig), [Field Configuration Object](doc:field-configuration-object) \n[block:embed]\n{\n \"html\": false,\n \"url\": \"https://fast.wistia.net/embed/iframe/dyqbnznw29\",\n \"title\": \"egghead-angularformly-extending-types.mp4\",\n \"favicon\": \"https://fast.wistia.net/favicon.ico\",\n \"image\": \"https://embed-ssl.wistia.com/deliveries/0ea8c64be317742882ac3857550aa6984d030a2c.jpg?image_crop_resized=640x360\",\n \"iframe\": true\n}\n[/block]\n# [Bug me](https://github.com/formly-js/angular-formly/issues/219) for more...\n[block:api-header]\n{\n \"type\": \"basic\",\n \"title\": \"NG-NL Talk\"\n}\n[/block]\nI gave a talk at [ng-nl](http://www.ng-nl.org/) 2015 about angular-formly. Definitely recommend this to anyone getting started with angular-formly.\n\n[block:embed]\n{\n \"html\": \"<iframe class=\\\"embedly-embed\\\" src=\\\"//cdn.embedly.com/widgets/media.html?src=http%3A%2F%2Fwww.youtube.com%2Fembed%2Fo90TMDL3OYc%3Ffeature%3Doembed%26rel%3D0&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Do90TMDL3OYc&image=http%3A%2F%2Fi.ytimg.com%2Fvi%2Fo90TMDL3OYc%2Fhqdefault.jpg&key=02466f963b9b4bb8845a05b53d3235d7&type=text%2Fhtml&schema=youtube\\\" width=\\\"854\\\" height=\\\"480\\\" scrolling=\\\"no\\\" frameborder=\\\"0\\\" allowfullscreen></iframe>\",\n \"url\": \"https://www.youtube.com/watch?v=o90TMDL3OYc\",\n \"title\": \"JSON Powered Forms by Kent C Dodds at NG-NL 2015\",\n \"favicon\": \"https://www.youtube.com/favicon.ico\",\n \"image\": \"http://i.ytimg.com/vi/o90TMDL3OYc/hqdefault.jpg\"\n}\n[/block]\nThe code for this talk can be found [here](https://github.com/kentcdodds/angular-formly-convert)\n[block:api-header]\n{\n \"type\": \"basic\",\n \"title\": \"Codementor Office Hours\"\n}\n[/block]\nA quick intro for [Codementor Office Hours](https://www.codementor.io/officehours/6421503960/creating-forms-with-angular).\n[block:embed]\n{\n \"html\": \"<iframe class=\\\"embedly-embed\\\" src=\\\"//cdn.embedly.com/widgets/media.html?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DFvIj5n7dF2Y&src=http%3A%2F%2Fwww.youtube.com%2Fembed%2FFvIj5n7dF2Y%3Ffeature%3Doembed&type=text%2Fhtml&key=02466f963b9b4bb8845a05b53d3235d7&schema=youtube\\\" width=\\\"854\\\" height=\\\"480\\\" scrolling=\\\"no\\\" frameborder=\\\"0\\\" allowfullscreen></iframe>\",\n \"url\": \"https://www.youtube.com/watch?v=FvIj5n7dF2Y\",\n \"title\": \"Codementor Office Hours: Learning Angular-Formly with Kent C. Dodds\",\n \"favicon\": \"https://www.youtube.com/favicon.ico\"\n}\n[/block]\nHere's the jsbin:\n[block:embed]\n{\n \"html\": false,\n \"url\": \"http://jsbin.com/yopola/embed?output\",\n \"title\": \"JS Bin\",\n \"favicon\": \"http://static.jsbin.com/images/favicon.png\",\n \"image\": \"http://static.jsbin.com/images/logo.png\",\n \"iframe\": true\n}\n[/block]\n\n[block:api-header]\n{\n \"type\": \"basic\",\n \"title\": \"Examples\"\n}\n[/block]\n[The examples](http://angular-formly.com/) are terrific ways to see how to use this library.","updates":[],"order":1,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"558cb2bd0b236c2500d37cf5","githubsync":"","__v":0,"user":"54e3723b8ef7552300409bf4","createdAt":"2015-03-30T18:15:03.914Z","version":{"version":"6.16.0","version_clean":"6.16.0","codename":"","is_stable":false,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["558cb2bc0b236c2500d37cd5","558cb2bc0b236c2500d37cd6","558cb2bc0b236c2500d37cd7","558cb2bc0b236c2500d37cd8","558cb2bc0b236c2500d37cd9","558cb2bc0b236c2500d37cda"],"_id":"558cb2bc0b236c2500d37cd4","project":"5515ba4981faf83900d2b10c","releaseDate":"2015-06-26T02:02:36.211Z","__v":1,"createdAt":"2015-06-26T02:02:36.211Z","forked_from":"558a9c9f8d30cb2300873ecd"},"category":{"sync":{"isSync":false,"url":""},"pages":["558cb2bd0b236c2500d37cf0","558cb2bd0b236c2500d37cf1","558cb2bd0b236c2500d37cf2","558cb2bd0b236c2500d37cf3","558cb2bd0b236c2500d37cf4","558cb2bd0b236c2500d37cf5","558cb2bd0b236c2500d37cf6","558cb2bd0b236c2500d37cf7","558cb2bd0b236c2500d37cf8","558cb2bd0b236c2500d37cf9","558cb2bd0b236c2500d37cfa","558cb2bd0b236c2500d37cfb","558cb2bd0b236c2500d37cfc","558cb2bd0b236c2500d37cfd"],"title":"Guides","slug":"guides","order":0,"from_sync":false,"reference":false,"_id":"558cb2bc0b236c2500d37cd5","__v":1,"version":"558cb2bc0b236c2500d37cd4","createdAt":"2015-03-27T20:15:06.295Z","project":"5515ba4981faf83900d2b10c"},"project":"5515ba4981faf83900d2b10c"}
Learn angular-formly
Resources for learning angular-formly