Я использую финальную версию Angular2 (2.1.0). Когда я хочу отобразить список компаний, я получил эту ошибку.
в file.component.ts
:
public companies: any[] = [
{ "id": 0, "name": "Available" },
{ "id": 1, "name": "Ready" },
{ "id": 2, "name": "Started" }
];
в file.component.html
:
<tbody>
<tr *ngFor="let item of companies; let i =index">
<td>{{i}}</td>
<td>{{item.name}}</td>
</tr>
</tbody>
angular
angular2-template
Мурад Идрисси
источник
источник
ngfor
дает указанную вами ошибку. Должно бытьngFor
Ответы:
Добавить
BrowserModule
кimports: []
в ,@NgModule()
если это модуль корня (AppModule
), в противном случаеCommonModule
.источник
В моем случае проблема заключалась в том, что мой товарищ по команде упоминал
*ngfor
в шаблонах вместо*ngFor
. Странно, что нет правильной ошибки для решения этой проблемы (в Angular 4).источник
*ngFor="let diagram if diagrams"
, обратите внимание наif
. Сообщение "ошибка синтаксического анализа" было бы лучше ...*ngFor="lang in languages"
там, где ожидает angular 8*ngFor="let lang of languages"
. Довольно вводящее в заблуждение сообщение об ошибке imo: /Вам необходимо импортировать CommonModule в модуль, в котором вы используете эти встроенные директивы, такие как ngFor, ngIf и т. Д.
источник
То, что нужно запомнить:
Когда используются пользовательские модули (модули, отличные от AppModule), необходимо импортировать в него общий модуль.
источник
Если вы создаете свой собственный модуль, добавьте CommonModule в импорт в свой собственный модуль.
источник
Это также может произойти, если вы не объявите компонент маршрута в своем функциональном модуле. Так например:
feature.routing.module.ts:
feature.module.ts:
Обратите внимание, что ViewComponent отсутствует в массиве объявлений, хотя он должен быть.
источник
Пользовательскому модулю нужен общий модуль
импортировать {CommonModule} из "@ angular / common";
@NgModule ({импорт: [CommonModule]})
источник
При использовании «app-routing.module» мы забываем импорт «CommonModule». Не забудьте импортировать!
источник
У меня была такая же ошибка, но у меня был импортированный CommonModule. Вместо этого я оставил запятую там, где ее не должно быть из-за копирования / вставки при разделении модуля:
источник
app.module.ts исправлен и изменен на: импорт BrowserModule в модуль вашего приложения
источник
Я получал ту же ошибку, вы можете исправить ее одним из следующих способов:
Если у вас нет вложенного модуля
а. Импортируйте CommonModule в свой модуль приложения
б. Импортируйте свой компонент, в который вы добавляете * ngFor в модуле приложения , определите в объявлениях
с. Если вы используете отдельный файл модуля для маршрутизации, импортируйте CommonModule в свой модуль маршрутизации, иначе импортируйте CommonModule в свой модуль приложения.
В моем случае 2-й метод решил мою проблему.
Надеюсь, что это поможет вам
источник
Для меня проблема заключалась в том, что я не импортировал заказной модуль
HouseModule
в свойapp.module.ts
. У меня был другой импорт.Файл: app.module.ts
источник
Будущие читатели
Проверьте каждое из следующего:
import { CommonModule } from '@angular/common';
источник
Я начал работать с базовым живым проектом Angular8, у меня возникла вышеуказанная проблема, но при использовании «app-routing.module» мы забываем импортировать «CommonModule». Не забудьте импортировать!
Это решит вашу ошибку.
источник
Эта проблема возникает при использовании Routes, мы можем отображать статический контент любого модуля, но при попытке использовать такую функциональность, как * ngIg, не работает, для работы, например, @Ruben Szeker, необходимо добавить компонент в app.module.ts on import [], для завершения закрытия или уничтожения фактического выполнения сервера и повторного запуска сервера, проблема будет решена. Если это не сработает для вас, я попробую другой способ.
Прошу прощения за мой плохой английский.
источник
У меня возникла проблема из-за ** вместо *
источник
Я столкнулся с аналогичной ошибкой (
*ngIf
), даже если весь мой импорт был в порядке и компонент был отрисован без каких-либо других ошибок + маршрутизация была в порядке.В моем случае
AppModule
этот конкретный модуль не включался. Странно то, что он не жаловался на это, но это может быть связано с тем, как работает Ivyng serve
(вид загружает модули в соответствии с маршрутизацией, но его зависимости не рассматриваются).источник
Просто потерял ~ 1 час из-за этой ошибки только на одной конкретной странице. Пробовал все ответы здесь, но, наконец, решение заключалось в том, чтобы восстановить все это с помощью ng, проблема просто исчезла ...
источник
Пожалуйста, убедитесь
В директивах нет синтаксической ошибки
Браузер (в модуле приложения) и общие (в другом / дочернем) модули импортируются (то же, что упомянул Гюнтер Цохбауэр )
Если в приложении есть маршруты, то модуль маршрута следует импортировать в модуль приложения.
Модуль всех маршрутизируемых компонентов также импортируется в модуль приложения, например: app-routing.module.ts выглядит следующим образом:
const routes: Routes = [
{путь: '', компонент: CustomerComponent},
{путь: 'admin', компонент: AdminComponent}
];
Затем модуль приложения должен импортировать модули CustomerComponent и AdminComponent в @NgModule ().
источник
Даже если я столкнулся с той же проблемой, я попробовал все ответы здесь, но простое изменение помогло мне решить эту проблему, вместо того, чтобы включать * ngFor в
tr
тег, я включил его вtbody
тег. Надеюсь, это кому-то поможет.источник
импортировать CommonModule как в дочерний модуль, так и в компонент
источник