{"id":16058852,"url":"https://github.com/andyatkinson/angular-tutorials","last_synced_at":"2026-05-15T05:35:38.132Z","repository":{"id":66952259,"uuid":"21176720","full_name":"andyatkinson/angular-tutorials","owner":"andyatkinson","description":"Learning Angular","archived":false,"fork":false,"pushed_at":"2014-07-02T03:06:17.000Z","size":160,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-12T08:45:58.849Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andyatkinson.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-24T18:49:08.000Z","updated_at":"2019-07-09T16:00:31.000Z","dependencies_parsed_at":"2023-02-20T15:14:14.177Z","dependency_job_id":null,"html_url":"https://github.com/andyatkinson/angular-tutorials","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyatkinson%2Fangular-tutorials","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyatkinson%2Fangular-tutorials/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyatkinson%2Fangular-tutorials/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyatkinson%2Fangular-tutorials/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andyatkinson","download_url":"https://codeload.github.com/andyatkinson/angular-tutorials/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241404210,"owners_count":19957650,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-09T03:40:50.642Z","updated_at":"2026-05-15T05:35:37.990Z","avatar_url":"https://github.com/andyatkinson.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Angular\n\n### angular raffler railscasts rails app\n\n  * only sending certain Entry attributes back, for example, skipping created_at and updated_at. This way they are not part of the posted attributes either.\n  * Added strong parameters into the mix\n  * Added a solution [from stack overflow](http://stackoverflow.com/a/15761835/126688) to address CSRF security\n\n### Notes\n\n  * angular has a subset of jquery called jqlite. If jQuery is available, `angular.element` is an alias for the jQuery function.\n  * `$watch` and `$apply` are used for the two-way data binding\n  * `ng-show` attribute can be used when an attribute should be shown/hidden by the controller\n  * function defined on ng-submit on form, there should be a controller function that matches that name\n  * scope object lets us interact with a view\n  * add ng-app attribute to html tag\n  * ng-model: bind a model to the form element, e.g. newEntry.name\n  * ng-repeat attribute on a list item\n  * for a controller, use @ symbol to expose the object to the window\n  * two-way data binding\n  * with asset minification, for rails asset pipeline, can set mangle: false for the uglifier\n  * a promise is a technique for performing asynchronous tasks. `then()` takes an argument that is a function to run when the promise is fulfilled.\n  * module can have a config function, that can have different routes, routes can define view and controller, controllers call out to a factory/service/providers/value/resources\n  * `$routeProvider`, when, when, otherwise, see ngRoute\n  * can chain factory and controller functions on the module\n  * factory and service are different in that factory author creates a JS object and returns it. Service uses `this` keyword. This might be awkward with coffeescript.\n  * can animate views\n\n### [directives](https://docs.angularjs.org/api/ng/directive)\n\n  * add new things to HTML, can create templates, add attributes, elements\n  * `ng-init`, `ng-app`, `ng-repeat`\n  * ng-click, argument is function like \"addCustomer()\"\n  * ng-view, routes can be used to define routes with multiple views, and click between them\n\n### [filters](https://docs.angularjs.org/api/ng/filter)\n\n  * `{{ customer.name | uppercase }}`\n  * filter:name\n  * `orderBy:'name'\n\n### Views, controllers, scope (view model)\n\n  * controller drives what gets updated into the view, `$scope` between view and controller\n\n### Resources\n\n  * [angular railscast](http://railscasts.com/episodes/405-angularjs)\n  * [egghead.io](https://egghead.io/)\n  * [youtube video from dan wahlin](https://www.youtube.com/watch?v=i9MHigUZKEM)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandyatkinson%2Fangular-tutorials","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandyatkinson%2Fangular-tutorials","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandyatkinson%2Fangular-tutorials/lists"}