使用* ngFor

时间:2016-10-16 20:40:26

标签: angular

对不起伙计们。我是Angular 2的新手。你可能会认为这是重复,但我在这里遇到很多问题。我已经搜索了这个问题并得到了答案,但我无法实现它。 此答案提供了此答案的可能解决方案:Iterate over TypeScript Dictionary in Angular 2

解决方案是使用管道。但我对语法有一些疑问,我无法找到它,所以请专家如何使用它!这个解决方案不使用管道,但我仍然尝试过,因为我试图实现的所有其他方法的错误是相同的

import {Component} from 'angular2/core';
@Component({
  selector: 'component',
  templateUrl: `
   <ul>
   <li *ngFor="#key of keys();">{{key}}:{{myDict[key]}}</li>
   </ul>
  `
})
export class Home {
  myDict : Dictionary;
  constructor() {
  this.myDict = {'key1':'value1','key2':'value2'};
}
keys() : Array<string> {
return Object.keys(this.myDict);
}
}
interface Dictionary {
[ index: string ]: string
}

行:

 <li *ngFor="#key of keys();">{{key}}:{{myDict[key]}}</li>
每次我尝试实现它时,

都会显示错误。它始终是相同的:在#keys下和键下()

,这是显示的控制台错误消息:

zone.js:355 Unhandled Promise rejection: Template parse errors:
Parser Error: Unexpected token #, expected identifier, keyword, or string at         column 11 in [ngFor let #key of keys();] in AppComponent@12:11 ("

 <ul>
   <li [ERROR ->]*ngFor="let #key of keys();">{{key}}:{{myDict[key]}}</li>
  </ul>

"): AppComponent@12:11
Parser Error: Unexpected token #, expected identifier, keyword, or string at     column 11 in [ngFor let #key of keys();] in AppComponent@12:11 ("

 <ul>
   <li *ngFor="let #key of keys();">[ERROR ->]{{key}}:{{myDict[key]}}</li>
  </ul>

"):

请建议我做什么。我在这里失踪了什么? 链接中提到的其他几个解决方案也显示了相同的错误。所以如果我解决了这个问题,我也可以解决其他问题。 谢谢

1 个答案:

答案 0 :(得分:4)

使用let而非# - 自RC.6

以来已更改