{"action":"created","issue":{"url":"https://api.github.com/repos/angular/angular/issues/4385","labels_url":"https://api.github.com/repos/angular/angular/issues/4385/labels{/name}","comments_url":"https://api.github.com/repos/angular/angular/issues/4385/comments","events_url":"https://api.github.com/repos/angular/angular/issues/4385/events","html_url":"https://github.com/angular/angular/issues/4385","id":108549717,"number":4385,"title":"Binding to unknown properties (such as Aria attributes) results in error. ","user":{"login":"nosachamos","id":1261686,"avatar_url":"https://avatars.githubusercontent.com/u/1261686?v=3","gravatar_id":"","url":"https://api.github.com/users/nosachamos","html_url":"https://github.com/nosachamos","followers_url":"https://api.github.com/users/nosachamos/followers","following_url":"https://api.github.com/users/nosachamos/following{/other_user}","gists_url":"https://api.github.com/users/nosachamos/gists{/gist_id}","starred_url":"https://api.github.com/users/nosachamos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nosachamos/subscriptions","organizations_url":"https://api.github.com/users/nosachamos/orgs","repos_url":"https://api.github.com/users/nosachamos/repos","events_url":"https://api.github.com/users/nosachamos/events{/privacy}","received_events_url":"https://api.github.com/users/nosachamos/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-09-27T17:30:02Z","updated_at":"2015-09-28T17:04:18Z","closed_at":"2015-09-27T17:50:49Z","body":"Binding to unknown properties such as Aria attributes result in error. For example:\r\n\r\n```\r\n<a class=\"cell-anchor \" [aria-expanded]=\"isFirstError(error)\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion\" href=\"#collapse-{{error.id}}\" aria-expanded=\"false\">\r\n```\r\n\r\nWill result in the following exception when the component whose template includes this code is loaded:\r\n\r\n**EXCEPTION: Can't bind to 'ariaExpanded' since it isn't a known property of the '\\<a>' element and there are no matching directives with a corresponding property**\r\n\r\nIt turns out, aria attributes often include dashes, so we are converting to ariaExpanded which ins't really correct (perhaps there is a escaping mechanism I'm not aware of?'). That is not the root cause of this, though, as binding to anything unknown will cause the same issue:\r\n\r\n**EXCEPTION: Can't bind to 'foo' since it isn't a known property of the '\\<a>' element and there are no matching directives with a corresponding property**\r\n\r\nPlease let me know if a plunker is needed and I'll create one."},"comment":{"url":"https://api.github.com/repos/angular/angular/issues/comments/143805508","html_url":"https://github.com/angular/angular/issues/4385#issuecomment-143805508","issue_url":"https://api.github.com/repos/angular/angular/issues/4385","id":143805508,"user":{"login":"nosachamos","id":1261686,"avatar_url":"https://avatars.githubusercontent.com/u/1261686?v=3","gravatar_id":"","url":"https://api.github.com/users/nosachamos","html_url":"https://github.com/nosachamos","followers_url":"https://api.github.com/users/nosachamos/followers","following_url":"https://api.github.com/users/nosachamos/following{/other_user}","gists_url":"https://api.github.com/users/nosachamos/gists{/gist_id}","starred_url":"https://api.github.com/users/nosachamos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nosachamos/subscriptions","organizations_url":"https://api.github.com/users/nosachamos/orgs","repos_url":"https://api.github.com/users/nosachamos/repos","events_url":"https://api.github.com/users/nosachamos/events{/privacy}","received_events_url":"https://api.github.com/users/nosachamos/received_events","type":"User","site_admin":false},"created_at":"2015-09-28T17:04:18Z","updated_at":"2015-09-28T17:04:18Z","body":"Cool, I was not aware of the .attr prefix. This must be clearly documented, whenever the time to go GA comes.\r\n\r\nI do think, however, that there is an opportunity to improve the message we give when the binding misses the .attr prefix. If we could just print out something like this, I wouldn't even need the documentation:\r\n\r\n**EXCEPTION: Can't bind to 'foo' since it isn't a known property of the '\\<a>' element and there are no matching directives with a corresponding property. If this is an attribute, make sure to prefix its name with 'attr.' **\r\n\r\nThis issue could be used to track improving this message."}}