{"action":"created","issue":{"url":"https://api.github.com/repos/angular/angular/issues/24774","repository_url":"https://api.github.com/repos/angular/angular","labels_url":"https://api.github.com/repos/angular/angular/issues/24774/labels{/name}","comments_url":"https://api.github.com/repos/angular/angular/issues/24774/comments","events_url":"https://api.github.com/repos/angular/angular/issues/24774/events","html_url":"https://github.com/angular/angular/issues/24774","id":338738925,"node_id":"MDU6SXNzdWUzMzg3Mzg5MjU=","number":24774,"title":"Documentation lacks info about EventEmitter ","user":{"login":"andremarcondesteixeira","id":4294962,"node_id":"MDQ6VXNlcjQyOTQ5NjI=","avatar_url":"https://avatars3.githubusercontent.com/u/4294962?v=4","gravatar_id":"","url":"https://api.github.com/users/andremarcondesteixeira","html_url":"https://github.com/andremarcondesteixeira","followers_url":"https://api.github.com/users/andremarcondesteixeira/followers","following_url":"https://api.github.com/users/andremarcondesteixeira/following{/other_user}","gists_url":"https://api.github.com/users/andremarcondesteixeira/gists{/gist_id}","starred_url":"https://api.github.com/users/andremarcondesteixeira/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andremarcondesteixeira/subscriptions","organizations_url":"https://api.github.com/users/andremarcondesteixeira/orgs","repos_url":"https://api.github.com/users/andremarcondesteixeira/repos","events_url":"https://api.github.com/users/andremarcondesteixeira/events{/privacy}","received_events_url":"https://api.github.com/users/andremarcondesteixeira/received_events","type":"User","site_admin":false},"labels":[{"id":175085143,"node_id":"MDU6TGFiZWwxNzUwODUxNDM=","url":"https://api.github.com/repos/angular/angular/labels/comp:%20docs","name":"comp: docs","color":"c7def8","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/angular/angular/milestones/83","html_url":"https://github.com/angular/angular/milestone/83","labels_url":"https://api.github.com/repos/angular/angular/milestones/83/labels","id":3143880,"node_id":"MDk6TWlsZXN0b25lMzE0Mzg4MA==","number":83,"title":"needsTriage","description":"Milestone for all issues that haven't been triaged yet","creator":{"login":"ocombe","id":265378,"node_id":"MDQ6VXNlcjI2NTM3OA==","avatar_url":"https://avatars0.githubusercontent.com/u/265378?v=4","gravatar_id":"","url":"https://api.github.com/users/ocombe","html_url":"https://github.com/ocombe","followers_url":"https://api.github.com/users/ocombe/followers","following_url":"https://api.github.com/users/ocombe/following{/other_user}","gists_url":"https://api.github.com/users/ocombe/gists{/gist_id}","starred_url":"https://api.github.com/users/ocombe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ocombe/subscriptions","organizations_url":"https://api.github.com/users/ocombe/orgs","repos_url":"https://api.github.com/users/ocombe/repos","events_url":"https://api.github.com/users/ocombe/events{/privacy}","received_events_url":"https://api.github.com/users/ocombe/received_events","type":"User","site_admin":false},"open_issues":161,"closed_issues":487,"state":"open","created_at":"2018-02-26T14:22:18Z","updated_at":"2018-07-12T23:04:18Z","due_on":null,"closed_at":null},"comments":8,"created_at":"2018-07-05T21:56:56Z","updated_at":"2018-07-13T18:14:55Z","closed_at":null,"author_association":"NONE","body":"Angular version: 6.0.7\r\n\r\nThere is an undocumented convention in the framework.\r\n\r\nWhen you name an EventEmitter instance with a \"Change\" suffix, the framework will look for an input property without the \"Change\" suffix, like so:\r\n\r\n``` Typescript\r\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'app-error-modal',\r\n    templateUrl: './error-modal.component.html',\r\n    styleUrls: ['./error-modal.component.css']\r\n})\r\nexport class ErrorModalComponent {\r\n    @Input() isVisible = false;\r\n    @Output() isVisibleChange = new EventEmitter<boolean>();\r\n    @Input() message: string;\r\n\r\n    closeDialog() {\r\n        this.isVisible = false;\r\n        this.isVisibleChange.emit(this.isVisible);\r\n    }\r\n}\r\n```\r\n\r\nIn the example, the `isVisibleChange` together with the 'isVisible' properties will allow the use of the \"banana in a box\" syntax in the view:\r\n\r\n``` html\r\n<app-error-modal [(isVisible)]=\"isDialogVisible\"></app-error-modal>\r\n```\r\n\r\nBut if I rename the `isVisibleChange` property to anything else, I will be forced to do a separate input and output binding in my html:\r\n\r\n``` html\r\n<app-error-modal [isVisible]=\"isDialogVisible\" (another-name)=\"my-method($event)\"></app-error-modal>\r\n```\r\n\r\nThis is true even if I rename the output property using;\r\n\r\n``` typescript\r\n@Output('isVisible') another-name = new EventEmitter<boolean>();\r\n```"},"comment":{"url":"https://api.github.com/repos/angular/angular/issues/comments/404912288","html_url":"https://github.com/angular/angular/issues/24774#issuecomment-404912288","issue_url":"https://api.github.com/repos/angular/angular/issues/24774","id":404912288,"node_id":"MDEyOklzc3VlQ29tbWVudDQwNDkxMjI4OA==","user":{"login":"andremarcondesteixeira","id":4294962,"node_id":"MDQ6VXNlcjQyOTQ5NjI=","avatar_url":"https://avatars3.githubusercontent.com/u/4294962?v=4","gravatar_id":"","url":"https://api.github.com/users/andremarcondesteixeira","html_url":"https://github.com/andremarcondesteixeira","followers_url":"https://api.github.com/users/andremarcondesteixeira/followers","following_url":"https://api.github.com/users/andremarcondesteixeira/following{/other_user}","gists_url":"https://api.github.com/users/andremarcondesteixeira/gists{/gist_id}","starred_url":"https://api.github.com/users/andremarcondesteixeira/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andremarcondesteixeira/subscriptions","organizations_url":"https://api.github.com/users/andremarcondesteixeira/orgs","repos_url":"https://api.github.com/users/andremarcondesteixeira/repos","events_url":"https://api.github.com/users/andremarcondesteixeira/events{/privacy}","received_events_url":"https://api.github.com/users/andremarcondesteixeira/received_events","type":"User","site_admin":false},"created_at":"2018-07-13T18:14:55Z","updated_at":"2018-07-13T18:14:55Z","author_association":"NONE","body":"@jenniferfell the example you posted does not illustrate the situation I have exposed.\r\nThe place I believe this behavior should be documented for quick reference is in the quick reference API documentation, not the in the heavy reading tutorial"}}
{"actor":{"display_login":"andremarcondesteixeira"}}