{"action":"created","issue":{"url":"https://api.github.com/repos/angular/angular.js/issues/10007","labels_url":"https://api.github.com/repos/angular/angular.js/issues/10007/labels{/name}","comments_url":"https://api.github.com/repos/angular/angular.js/issues/10007/comments","events_url":"https://api.github.com/repos/angular/angular.js/issues/10007/events","html_url":"https://github.com/angular/angular.js/issues/10007","id":48423253,"number":10007,"title":"Feature Request: angular.component helper","user":{"login":"johnlindquist","id":36073,"avatar_url":"https://avatars.githubusercontent.com/u/36073?v=3","gravatar_id":"","url":"https://api.github.com/users/johnlindquist","html_url":"https://github.com/johnlindquist","followers_url":"https://api.github.com/users/johnlindquist/followers","following_url":"https://api.github.com/users/johnlindquist/following{/other_user}","gists_url":"https://api.github.com/users/johnlindquist/gists{/gist_id}","starred_url":"https://api.github.com/users/johnlindquist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnlindquist/subscriptions","organizations_url":"https://api.github.com/users/johnlindquist/orgs","repos_url":"https://api.github.com/users/johnlindquist/repos","events_url":"https://api.github.com/users/johnlindquist/events{/privacy}","received_events_url":"https://api.github.com/users/johnlindquist/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/angular/angular.js/labels/needs%3A+feedback","name":"needs: feedback","color":"bfdadc"},{"url":"https://api.github.com/repos/angular/angular.js/labels/severity%3A+inconvenient","name":"severity: inconvenient","color":"006b75"},{"url":"https://api.github.com/repos/angular/angular.js/labels/type%3A+feature","name":"type: feature","color":"00a606"}],"state":"open","locked":false,"assignee":{"login":"IgorMinar","id":216296,"avatar_url":"https://avatars.githubusercontent.com/u/216296?v=3","gravatar_id":"","url":"https://api.github.com/users/IgorMinar","html_url":"https://github.com/IgorMinar","followers_url":"https://api.github.com/users/IgorMinar/followers","following_url":"https://api.github.com/users/IgorMinar/following{/other_user}","gists_url":"https://api.github.com/users/IgorMinar/gists{/gist_id}","starred_url":"https://api.github.com/users/IgorMinar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IgorMinar/subscriptions","organizations_url":"https://api.github.com/users/IgorMinar/orgs","repos_url":"https://api.github.com/users/IgorMinar/repos","events_url":"https://api.github.com/users/IgorMinar/events{/privacy}","received_events_url":"https://api.github.com/users/IgorMinar/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/angular/angular.js/milestones/80","labels_url":"https://api.github.com/repos/angular/angular.js/milestones/80/labels","id":901585,"number":80,"title":"1.4.x","description":"","creator":{"login":"petebacondarwin","id":15655,"avatar_url":"https://avatars.githubusercontent.com/u/15655?v=3","gravatar_id":"","url":"https://api.github.com/users/petebacondarwin","html_url":"https://github.com/petebacondarwin","followers_url":"https://api.github.com/users/petebacondarwin/followers","following_url":"https://api.github.com/users/petebacondarwin/following{/other_user}","gists_url":"https://api.github.com/users/petebacondarwin/gists{/gist_id}","starred_url":"https://api.github.com/users/petebacondarwin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/petebacondarwin/subscriptions","organizations_url":"https://api.github.com/users/petebacondarwin/orgs","repos_url":"https://api.github.com/users/petebacondarwin/repos","events_url":"https://api.github.com/users/petebacondarwin/events{/privacy}","received_events_url":"https://api.github.com/users/petebacondarwin/received_events","type":"User","site_admin":false},"open_issues":31,"closed_issues":12,"state":"open","created_at":"2014-12-12T10:36:27Z","updated_at":"2015-01-20T21:51:45Z","due_on":null,"closed_at":null},"comments":22,"created_at":"2014-11-11T19:26:21Z","updated_at":"2015-01-22T16:08:14Z","closed_at":null,"body":"Please see this demo: https://jsbin.com/yixote/11/edit?html,js,output\r\n\r\nThanks to \"bindToController\" in angular 1.3, we're able to create a much simpler api for building components. \r\n\r\nJust as \"angular.service\" helps us to easily build an \"angular.provider\", I strongly believe a simplified \"angular.component\" could help us easily build components with \"angular.directive\".\r\n\r\nI'm sure everyone will have plenty of feedback :)"},"comment":{"url":"https://api.github.com/repos/angular/angular.js/issues/comments/71044956","html_url":"https://github.com/angular/angular.js/issues/10007#issuecomment-71044956","issue_url":"https://api.github.com/repos/angular/angular.js/issues/10007","id":71044956,"user":{"login":"demisx","id":4452412,"avatar_url":"https://avatars.githubusercontent.com/u/4452412?v=3","gravatar_id":"","url":"https://api.github.com/users/demisx","html_url":"https://github.com/demisx","followers_url":"https://api.github.com/users/demisx/followers","following_url":"https://api.github.com/users/demisx/following{/other_user}","gists_url":"https://api.github.com/users/demisx/gists{/gist_id}","starred_url":"https://api.github.com/users/demisx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/demisx/subscriptions","organizations_url":"https://api.github.com/users/demisx/orgs","repos_url":"https://api.github.com/users/demisx/repos","events_url":"https://api.github.com/users/demisx/events{/privacy}","received_events_url":"https://api.github.com/users/demisx/received_events","type":"User","site_admin":false},"created_at":"2015-01-22T16:08:14Z","updated_at":"2015-01-22T16:08:14Z","body":"@a-lucas We currently don't use the concept of a widget at all. Entire app is broken down into components. A component can be a widget too. I've just suggested the term `widget` if Angular team were still going to implement this directive-based approach. So it would be `angular.widget` instead of `angular.component`, since directives deal with UI and components deal with so much more, than UI. We see a `component` as a grouping of various files and other sub-components. Components are similar to modules in other languages, but we chose the term component so it's not confused with the Angular modules themselves."}}