Angular无法识别ng build --prod上键值管道中的项目

时间:2019-06-26 06:41:50

标签: angular typescript

我正在尝试在生产的Angular应用程序中使用keyvalue pipe

我有一些这样的数据(基本示例-不是实际数据)

{
    01-12-19: [
        {
            message: 'hello',
            id: 12
        },
        {
            message: 'goodbye',
            id: 13
        }
    ],
    02-12-19: [
        {
            message: 'hello',
            id: 14
        },
        {
            message: 'goodbye',
            id: 15
        }
    ]
}

现在在我的组件HTML中,我试图像这样使用| keyvalue管道

<div *ngFor="let item of messages | keyvalue | orderBy: item?.key">
    <div class="date">
        {{item?.key | momentFormat: 'DD/MM/YYYY'}}
    </div>
    <app-message
        *ngFor="let message of item?.value"
        [message]="message"
    >
    </app-message>
</div>

现在可行,我可以看到消息列表。

但是当我尝试使用ng build --prod构建项目时,我会不断遇到这些错误

Property 'item' does not exist on type 'MessageContainerComponent'

如何解决此问题?当我在生产环境中仅运行ng build错误时,不会显示此错误。

1 个答案:

答案 0 :(得分:1)

我必须在本地复制该问题,并且遇到相同的问题。我已经这样解决了。

我也在生产模式下进行了检查。

<div *ngFor="let item of messages | keyvalue | orderBy: messages.item">
    <div class="date">
        {{item.key | momentFormat: 'DD/MM/YYYY'}}
    </div>
    <app-message
        *ngFor="let message of item.value"
        [message]="message"
    >
    </app-message>
</div>

请尝试这种方式。希望对您有帮助。