{"id":526,"hash":"b6b25088abf5b890784726f5afe1c72ebf503d0e57cfb15efb436561e1bdbfb0","pattern":"Exception: Can&#39;t bind to &#39;ngFor&#39; since it isn&#39;t a known native property","full_message":"What am I doing wrong?\n\nimport {bootstrap, Component} from 'angular2/angular2'\n\n@Component({\n  selector: 'conf-talks',\n  template: `<div *ngFor=\"talk of talks\">\n     {{talk.title}} by {{talk.speaker}}\n     <p>{{talk.description}}\n   </div>`\n})\nclass ConfTalks {\n  talks = [ {title: 't1', speaker: 'Brian', description: 'talk 1'},\n            {title: 't2', speaker: 'Julie', description: 'talk 2'}];\n}\n@Component({\n  selector: 'my-app',\n  directives: [ConfTalks],\n  template: '<conf-talks></conf-talks>'\n})\nclass App {}\nbootstrap(App, [])\n\nThe error is\n\nEXCEPTION: Template parse errors:\nCan't bind to 'ngFor' since it isn't a known native property\n(\"<div [ERROR ->]*ngFor=\"talk of talks\">","ecosystem":"npm","package_name":"angular","package_version":null,"solution":"I missed let in front of talk:\n\n<div *ngFor=\"let talk of talks\">\n\nNote that as of beta.17 usage of #... to declare local variables inside of structural directives like NgFor is deprecated. Use let instead.\n\n<div *ngFor=\"#talk of talks\"> now becomes <div *ngFor=\"let talk of talks\">\n\nOriginal answer:\n\nI missed # in front of talk:\n\n<div *ngFor=\"#talk of talks\">\n\nIt is so easy to forget that #.  I wish the Angular exception error message would instead say:\n you forgot that # again.","confidence":0.95,"source":"stackoverflow","source_url":"https://stackoverflow.com/questions/34012291/exception-cant-bind-to-ngfor-since-it-isnt-a-known-native-property","votes":360,"created_at":"2026-04-19T04:51:17.802555+00:00","updated_at":"2026-04-19T04:51:17.802555+00:00"}