将角度从 8 升级到 9 后,错误是抛出"无法将值"未定义"分配给模板变量"限制"



我刚刚将现有的 Angular 8 项目更新为最新版本的 Angular 9。我在模板的不同div 元素中定义了一个变量。它按预期工作,没有抛出任何错误。我不想在 .ts 文件中初始化此变量。如果我这样做,那么它将被初始化为全局变量,它会影响我使用此变量的所有div 元素。

但是升级到 Angular 9 后,它会抛出">无法将值"未定义"分配给模板变量"limit"的错误。 模板变量是只读的"。谁能帮助我摆脱这个问题? 任何帮助将不胜感激。 谢谢:)

<p *ngIf="displayLimit; let limit">
<li *ngFor="let industry of company_industries; let i = index">
<simple-tag type="white" class="industry-tag" *ngIf="i < limit" title="{{industry}}">
</simple-tag>
</li>
<button *ngIf="lessFlag && limit > displayLimit " class="edu_img"
(click)="limit = limit - displayLimit " >
<button *ngIf="limit < info.company_industries?.length" class="edu_img"
(click)="limit = limit + displayLimit " (click)="lessFlag = true">
</p>

我有与上述代码相关的类似部分,它们使用"limit"变量。

Angular 9 提出了新的模板检查,这意味着在开发时,通过将值设置为只读变量,您将像上面所做的那样犯更少的错误。

您可以通过在 angularcompileroptions 下更改 tsconfig.json 中的属性来停止这些检查。

有关参考不同的可用检查,这里是官方文档的链接。

https://angular.io/guide/template-typecheck

相关内容

最新更新