{"action":"closed","issue":{"url":"https://api.github.com/repos/canjs/canjs/issues/1854","labels_url":"https://api.github.com/repos/canjs/canjs/issues/1854/labels{/name}","comments_url":"https://api.github.com/repos/canjs/canjs/issues/1854/comments","events_url":"https://api.github.com/repos/canjs/canjs/issues/1854/events","html_url":"https://github.com/canjs/canjs/issues/1854","id":102033095,"number":1854,"title":"*Reference scope bindings are not visible to Light DOM if no template is defined","user":{"login":"dylanrtt","id":11302736,"avatar_url":"https://avatars.githubusercontent.com/u/11302736?v=3","gravatar_id":"","url":"https://api.github.com/users/dylanrtt","html_url":"https://github.com/dylanrtt","followers_url":"https://api.github.com/users/dylanrtt/followers","following_url":"https://api.github.com/users/dylanrtt/following{/other_user}","gists_url":"https://api.github.com/users/dylanrtt/gists{/gist_id}","starred_url":"https://api.github.com/users/dylanrtt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylanrtt/subscriptions","organizations_url":"https://api.github.com/users/dylanrtt/orgs","repos_url":"https://api.github.com/users/dylanrtt/repos","events_url":"https://api.github.com/users/dylanrtt/events{/privacy}","received_events_url":"https://api.github.com/users/dylanrtt/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-08-20T00:57:02Z","updated_at":"2015-10-31T00:50:25Z","closed_at":"2015-10-31T00:50:25Z","body":"If I do the following:\r\n\r\n```html\r\nouter scope: {{parentAttr}}\r\n\r\n<my-component #parent-attr=\"{childAttr}\">\r\n  light DOM: {{parentAttr}}\r\n</my-component>\r\n```\r\n\r\nhttp://jsbin.com/zajiloqaze/edit?html,js,output\r\n\r\nThe outer scope can see the value of ```parentAttr``` but the light DOM (aka user content) of ```my-component``` cannot. With ```leakScope:true```, you could just read directly from ```childAttr``` but it's not clear where that is coming from so being able to do the above could be useful.\r\n\r\nI like the idea of being able to explicitly expose a component's view model to the outer context primarily because it allows you to use properties/methods of the component's viewmodel even when its defined with ```leakScope:false``` which I prefer to always do because:\r\n\r\n1) it forces data to be passed in explicitly which increases clarity\r\n2) it prevents random junk from leaking into the component's template or light DOM\r\n\r\nAt the very least, I think this should work with ```leakScope:false```. I originally expected it to  because, in theory, the light DOM would be reading directly from the outer context but I was unpleasantly surprised :("}}