{"action":"created","issue":{"url":"https://api.github.com/repos/emberjs/rfcs/issues/112","labels_url":"https://api.github.com/repos/emberjs/rfcs/issues/112/labels{/name}","comments_url":"https://api.github.com/repos/emberjs/rfcs/issues/112/comments","events_url":"https://api.github.com/repos/emberjs/rfcs/issues/112/events","html_url":"https://github.com/emberjs/rfcs/pull/112","id":128428520,"number":112,"title":"Element Modifiers","user":{"login":"mixonic","id":8752,"avatar_url":"https://avatars.githubusercontent.com/u/8752?v=3","gravatar_id":"","url":"https://api.github.com/users/mixonic","html_url":"https://github.com/mixonic","followers_url":"https://api.github.com/users/mixonic/followers","following_url":"https://api.github.com/users/mixonic/following{/other_user}","gists_url":"https://api.github.com/users/mixonic/gists{/gist_id}","starred_url":"https://api.github.com/users/mixonic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mixonic/subscriptions","organizations_url":"https://api.github.com/users/mixonic/orgs","repos_url":"https://api.github.com/users/mixonic/repos","events_url":"https://api.github.com/users/mixonic/events{/privacy}","received_events_url":"https://api.github.com/users/mixonic/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-01-24T22:06:17Z","updated_at":"2016-01-24T22:28:40Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/emberjs/rfcs/pulls/112","html_url":"https://github.com/emberjs/rfcs/pull/112","diff_url":"https://github.com/emberjs/rfcs/pull/112.diff","patch_url":"https://github.com/emberjs/rfcs/pull/112.patch"},"body":"[Rendered](https://github.com/mixonic/rfcs/blob/element-modifier/text/0111-element-modifier.md)"},"comment":{"url":"https://api.github.com/repos/emberjs/rfcs/issues/comments/174347331","html_url":"https://github.com/emberjs/rfcs/pull/112#issuecomment-174347331","issue_url":"https://api.github.com/repos/emberjs/rfcs/issues/112","id":174347331,"user":{"login":"rwjblue","id":12637,"avatar_url":"https://avatars.githubusercontent.com/u/12637?v=3","gravatar_id":"","url":"https://api.github.com/users/rwjblue","html_url":"https://github.com/rwjblue","followers_url":"https://api.github.com/users/rwjblue/followers","following_url":"https://api.github.com/users/rwjblue/following{/other_user}","gists_url":"https://api.github.com/users/rwjblue/gists{/gist_id}","starred_url":"https://api.github.com/users/rwjblue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwjblue/subscriptions","organizations_url":"https://api.github.com/users/rwjblue/orgs","repos_url":"https://api.github.com/users/rwjblue/repos","events_url":"https://api.github.com/users/rwjblue/events{/privacy}","received_events_url":"https://api.github.com/users/rwjblue/received_events","type":"User","site_admin":false},"created_at":"2016-01-24T22:28:40Z","updated_at":"2016-01-24T22:28:40Z","body":"This looks good, thanks for taking the time to put it together.\r\n\r\nI have a few thoughts/questions:\r\n\r\n* From the examples, I assume that `this.attrs` is roughly the same as in `Ember.Component`'s today. In \"curly components\" the mutable object confusion in `this.attrs.` is very annoying. Why introduce yet another place where `this.attrs` bizarro land still exists?  There also does not seem to be a path forward away from these as two way bound objects, since you wouldn't be able to lean on angle bracket syntax inside of an element.  I would prefer to see either no `this.attrs` or have `this.attrs` not be two-way bound.\r\n* Can you detail which hooks fire in server side rendering (aka Fastboot)?\r\n* We have generally regretted passing `attrs`, `newAttrs`, `oldAttrs`, etc to the various hooks. Should we avoid that mistake here?\r\n* Will element modifiers only be looked for while inside an element without assignment? Given `<button {{foo}} data-bar={{foo}}></button>`, `element-modifier:foo` would be used for the invocation inside the element but `helper:foo` would be used for the `data-bar` usage.  Is this correct?\r\n* Similar to above, will these two usages use different `foo` objects: `<button {{foo}}>{{foo}}</button>`. One for the element space invocation (`element-modifier:foo`) and another for the usage in \"normal\" space (`helper:foo`)?\r\n\r\nAgain, great job on this, and thank you for pushing this forward! "}}