{"action":"created","issue":{"url":"https://api.github.com/repos/dart-lang/angular_analyzer_plugin/issues/67","repository_url":"https://api.github.com/repos/dart-lang/angular_analyzer_plugin","labels_url":"https://api.github.com/repos/dart-lang/angular_analyzer_plugin/issues/67/labels{/name}","comments_url":"https://api.github.com/repos/dart-lang/angular_analyzer_plugin/issues/67/comments","events_url":"https://api.github.com/repos/dart-lang/angular_analyzer_plugin/issues/67/events","html_url":"https://github.com/dart-lang/angular_analyzer_plugin/issues/67","id":190214676,"number":67,"title":"Error for no exported directives in #x=\"y\"","user":{"login":"MichaelRFairhurst","id":1627771,"avatar_url":"https://avatars.githubusercontent.com/u/1627771?v=3","gravatar_id":"","url":"https://api.github.com/users/MichaelRFairhurst","html_url":"https://github.com/MichaelRFairhurst","followers_url":"https://api.github.com/users/MichaelRFairhurst/followers","following_url":"https://api.github.com/users/MichaelRFairhurst/following{/other_user}","gists_url":"https://api.github.com/users/MichaelRFairhurst/gists{/gist_id}","starred_url":"https://api.github.com/users/MichaelRFairhurst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MichaelRFairhurst/subscriptions","organizations_url":"https://api.github.com/users/MichaelRFairhurst/orgs","repos_url":"https://api.github.com/users/MichaelRFairhurst/repos","events_url":"https://api.github.com/users/MichaelRFairhurst/events{/privacy}","received_events_url":"https://api.github.com/users/MichaelRFairhurst/received_events","type":"User","site_admin":false},"labels":[{"id":491263121,"url":"https://api.github.com/repos/dart-lang/angular_analyzer_plugin/labels/P1%20high","name":"P1 high","color":"eb6420","default":false},{"id":491262985,"url":"https://api.github.com/repos/dart-lang/angular_analyzer_plugin/labels/Type:%20enhancement","name":"Type: enhancement","color":"84b6eb","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-11-18T01:41:38Z","updated_at":"2016-12-02T01:40:21Z","closed_at":"2016-12-02T01:40:21Z","body":"Example of working code:\r\n\r\n```\r\n@Component(selector: 'blah', template: '<div exportedDirective #newvar=\"exportedDirective\">{{newvar.exportedDirectiveProperty}}</div>')\r\nclass BlahComponent {}\r\n\r\n@Directive(selector: '[exportedDirective]', exportAs: 'exportedDirective')\r\nclass ExportedDirective {\r\n  String exportedDirectiveProperty;\r\n}\r\n```\r\n\r\nThis example works and typechecks the property on `newvar`. However, misspell the \"exportAs\" identifier, or misspell the selector property:\r\n\r\n```\r\n@Component(selector: 'blah', template: '<div exportedDirective #newvar=\"exprtedDirctiv\">{{newvar.exportedDirectiveProperty}}</div>')\r\nclass BlahComponent {}\r\n\r\n@Directive(selector: '[exportedDirective]', exportAs: 'exportedDirective')\r\nclass ExportedDirective {\r\n  String exportedDirectiveProperty;\r\n}\r\n```\r\n(causing `#newvar=\"exprtedDirctiv\" to have no matching directives to assign to 'newvar`)\r\n\r\nor\r\n```\r\n@Component(selector: 'blah', template: '<div exprtdDirctive #newvar=\"exportedDirective\">{{newvar.exportedDirectiveProperty}}</div>')\r\nclass BlahComponent {}\r\n\r\n@Directive(selector: '[exportedDirective]', exportAs: 'exportedDirective')\r\nclass ExportedDirective {\r\n  String exportedDirectiveProperty;\r\n}\r\n```\r\n(causing ExportedDirective to not match the div, and therefore \"#newvar=...\" could never possibly find it)\r\n\r\nIn both cases you get the error \"the getter newvar isn't defined for the class BlahComponent\" and the squiggles go under the \"newvar\" in the mustache.\r\n\r\nWe should instead see squiggles under the attribute value in `#newvar=\"...\"` and say something to the effect of \"No matching directives on this element export themselves under the name exprtdDirctive\""},"comment":{"url":"https://api.github.com/repos/dart-lang/angular_analyzer_plugin/issues/comments/264349986","html_url":"https://github.com/dart-lang/angular_analyzer_plugin/issues/67#issuecomment-264349986","issue_url":"https://api.github.com/repos/dart-lang/angular_analyzer_plugin/issues/67","id":264349986,"user":{"login":"MichaelRFairhurst","id":1627771,"avatar_url":"https://avatars.githubusercontent.com/u/1627771?v=3","gravatar_id":"","url":"https://api.github.com/users/MichaelRFairhurst","html_url":"https://github.com/MichaelRFairhurst","followers_url":"https://api.github.com/users/MichaelRFairhurst/followers","following_url":"https://api.github.com/users/MichaelRFairhurst/following{/other_user}","gists_url":"https://api.github.com/users/MichaelRFairhurst/gists{/gist_id}","starred_url":"https://api.github.com/users/MichaelRFairhurst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MichaelRFairhurst/subscriptions","organizations_url":"https://api.github.com/users/MichaelRFairhurst/orgs","repos_url":"https://api.github.com/users/MichaelRFairhurst/repos","events_url":"https://api.github.com/users/MichaelRFairhurst/events{/privacy}","received_events_url":"https://api.github.com/users/MichaelRFairhurst/received_events","type":"User","site_admin":false},"created_at":"2016-12-02T01:40:21Z","updated_at":"2016-12-02T01:40:21Z","body":"Merged PR #116 "}}
{"actor":{"display_login":"MichaelRFairhurst"}}