{"action":"closed","issue":{"url":"https://api.github.com/repos/geocine/custom-elements-ts/issues/11","repository_url":"https://api.github.com/repos/geocine/custom-elements-ts","labels_url":"https://api.github.com/repos/geocine/custom-elements-ts/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/geocine/custom-elements-ts/issues/11/comments","events_url":"https://api.github.com/repos/geocine/custom-elements-ts/issues/11/events","html_url":"https://github.com/geocine/custom-elements-ts/issues/11","id":341222646,"node_id":"MDU6SXNzdWUzNDEyMjI2NDY=","number":11,"title":"function name existing on the extended @Component decorator is bypassed by @Watch","user":{"login":"geocine","id":507464,"node_id":"MDQ6VXNlcjUwNzQ2NA==","avatar_url":"https://avatars0.githubusercontent.com/u/507464?v=4","gravatar_id":"","url":"https://api.github.com/users/geocine","html_url":"https://github.com/geocine","followers_url":"https://api.github.com/users/geocine/followers","following_url":"https://api.github.com/users/geocine/following{/other_user}","gists_url":"https://api.github.com/users/geocine/gists{/gist_id}","starred_url":"https://api.github.com/users/geocine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geocine/subscriptions","organizations_url":"https://api.github.com/users/geocine/orgs","repos_url":"https://api.github.com/users/geocine/repos","events_url":"https://api.github.com/users/geocine/events{/privacy}","received_events_url":"https://api.github.com/users/geocine/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-07-14T09:14:33Z","updated_at":"2018-07-17T13:18:13Z","closed_at":"2018-07-17T13:18:13Z","author_association":"OWNER","body":"We have a component with the name `render` like so:\r\n\r\n```ts\r\n@Watch('name')\r\nrender() {\r\n  // this will never get executed but the original render function will be executed twice\r\n}\r\n```\r\nBecause of the behavior above it will set the template twice of the shadow root:\r\n\r\neg.\r\n\r\n```ts\r\n@Component({\r\n  tag: 'test-element',\r\n  template: '<div></div>',\r\n  style: 'div { color: red }'\r\n})\r\nexport class TestElement extends HTMLElement {\r\n  constructor(){\r\n    super();\r\n  }\r\n  @Watch('name')\r\n  render() {\r\n    // will not be executed\r\n    console.log('test');\r\n  }\r\n}\r\n```\r\n\r\noutput of the shadowroot component would be \r\n\r\n```html\r\n  #shadowroot\r\n  <style>div { color: red }</style>\r\n  <div></div>\r\n  <style>div { color: red }</style>\r\n  <div></div>\r\n```"}}
{"actor":{"display_login":"geocine"}}