我正在使用angular 4并在运行build build时遇到此错误--prod。它没有给出运行ng-serve的任何错误,并且工作正常。 ResultJson是我的JSON文件。如果我删除ResultJson,它不会在UI上显示任何数据。将非常感谢帮助。谢谢。
这是我的html文件。
<div *ngIf="books?.ResultJson.length === 0">
<h4>no result found</h4>
</div>
<div *ngIf="books?.ResultJson.length > 0">
<form>
<table>
<tr>
<td><h4>Name</h4></td>
<td><h4>Id</h4></td>
</tr>
<tr *ngFor="let b of book?.ResultJson">
<td>{{p.name}}</td>
<td>{{p.id}}</td>
</tr>
</table>
</form>
这是我的打字稿文件中的数组
books: Book[] = [];
答案 0 :(得分:2)
问题在于问号:&gt; ?
&lt;不要使用*ngIf="books?.Resu...
而是使用*ngIf="books && books.ResultJson.length > 0"
或创建方法booksExists()
,它会为if
返回true / false(book
也是如此)。这可能与AoT有关(提前 - 可能在生产编译中使用) - 我在this angular-framework中找到了这些信息。
答案 1 :(得分:0)
它是AOT的问题。如果我运行 ng build --prod --aot false ,而不是 ng-build --prod ,它可以正常工作。不知道什么是确切的解决方案,但它使我的代码工作正常。