{"action":"created","issue":{"url":"https://api.github.com/repos/angular/router/issues/313","labels_url":"https://api.github.com/repos/angular/router/issues/313/labels{/name}","comments_url":"https://api.github.com/repos/angular/router/issues/313/comments","events_url":"https://api.github.com/repos/angular/router/issues/313/events","html_url":"https://github.com/angular/router/issues/313","id":75200494,"number":313,"title":"Could not instantiate controller with $scope injected","user":{"login":"nlarche","id":3041222,"avatar_url":"https://avatars.githubusercontent.com/u/3041222?v=3","gravatar_id":"","url":"https://api.github.com/users/nlarche","html_url":"https://github.com/nlarche","followers_url":"https://api.github.com/users/nlarche/followers","following_url":"https://api.github.com/users/nlarche/following{/other_user}","gists_url":"https://api.github.com/users/nlarche/gists{/gist_id}","starred_url":"https://api.github.com/users/nlarche/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nlarche/subscriptions","organizations_url":"https://api.github.com/users/nlarche/orgs","repos_url":"https://api.github.com/users/nlarche/repos","events_url":"https://api.github.com/users/nlarche/events{/privacy}","received_events_url":"https://api.github.com/users/nlarche/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-05-11T12:11:51Z","updated_at":"2015-11-09T11:06:02Z","closed_at":null,"body":"angularjs Could not instantiate controller with $scope injected when i use the new router v0.5.3\r\nthe same controller is working without $scope injected\r\n\r\nhere is a Plunker : http://plnkr.co/edit/Fl128QOUpPOJ9vCIdQVB?p=preview"},"comment":{"url":"https://api.github.com/repos/angular/router/issues/comments/155029751","html_url":"https://github.com/angular/router/issues/313#issuecomment-155029751","issue_url":"https://api.github.com/repos/angular/router/issues/313","id":155029751,"user":{"login":"TomerAvni","id":5339393,"avatar_url":"https://avatars.githubusercontent.com/u/5339393?v=3","gravatar_id":"","url":"https://api.github.com/users/TomerAvni","html_url":"https://github.com/TomerAvni","followers_url":"https://api.github.com/users/TomerAvni/followers","following_url":"https://api.github.com/users/TomerAvni/following{/other_user}","gists_url":"https://api.github.com/users/TomerAvni/gists{/gist_id}","starred_url":"https://api.github.com/users/TomerAvni/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TomerAvni/subscriptions","organizations_url":"https://api.github.com/users/TomerAvni/orgs","repos_url":"https://api.github.com/users/TomerAvni/repos","events_url":"https://api.github.com/users/TomerAvni/events{/privacy}","received_events_url":"https://api.github.com/users/TomerAvni/received_events","type":"User","site_admin":false},"created_at":"2015-11-09T11:06:02Z","updated_at":"2015-11-09T11:06:02Z","body":"**NEWER ANSWER**<BR/>\r\nWith the new router the controller gets initiated **before** the child scope is being created.<br/>\r\nThe child scope (the controller's scope) is created when the `activate` method is being called - that is - after the actual compilation of the view is finished. Therefore, it is simple impossible the inject $scope - it is simple created later.<br/>\r\n*Long story made short...*\r\nThere is a **better**, built-in **solution** for this.\r\n<br/>\r\nInstead of assigning your properties to the non-existing-yet `$scope`, simply assign them on the `\"this\"` variable - the controller instance variable. Then on the view, you can use them by referring the controller name: <br/>\r\n\r\n    angular.module('app.home').controller('HomeController', HomeController);\r\n    \r\n    function HomeController() {\r\n        this.name = \"tomer\";\r\n    }\r\n\r\nAnd now on the template html:\r\n\r\n    <div>\r\n        <h1>{{home.name}}\r\n    </div>\r\n\r\nMakes sense?"}}