Перебрать массив строк - angular2

Тем не менее, очень простая вещь, но я не могу понять, как отображать массив строк в шаблоне html в angular2.

.html

<ul>
       <li *ngFor="#number of numberOptions">
          {{number}}
       </li>
</ul>

.ts

this.numberOptions= ["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X"];

Приведенный выше трюк у меня не работает, текстовый редактор показывает ошибку для #number в ngFor. Это устарело в новых версиях? или я что-то не так здесь делаю?


person Amit Chigadani    schedule 08.05.2017    source источник


Ответы (2)


Вы должны объявить переменную number с помощью let.

   <li *ngFor="let number of numberOptions">
      {{number}}
   </li>
person SrAxi    schedule 08.05.2017
comment
Спасибо за ваш ответ. Просто интересно, почему #number не работает. - person Amit Chigadani; 08.05.2017
comment
Потому что вы должны объявить переменную с помощью let. Похоже на традиционный for в javascript: for (var i = 0; i < length; i++ ){}. Это то же самое, только вместо var нужно использовать let, так как это TypeScript. Вам нужно объявить переменную в блоке области видимости for, а не использовать объявленную переменную вне ее. - person SrAxi; 08.05.2017
comment
Я очень хорошо знаю let в машинописном тексте, но мой вопрос здесь. stackoverflow .com/questions/37431578/ Если вы видите сообщение, они объявили переменную с помощью использования # - person Amit Chigadani; 08.05.2017
comment
@AmitChigadani синтаксис # использовался в бета-версиях Angular. - person AJT82; 08.05.2017
comment
Ой. Огромное спасибо @AJT_82 - person Amit Chigadani; 08.05.2017

используйте пусть вместо #

<ul>
       <li *ngFor="let number of numberOptions">
          {{number}}
       </li>
</ul>
person Fawad Mukhtar    schedule 08.05.2017