После обновления angular с 8 до 9 выдается ошибка "Невозможно присвоить значение" undefined "переменной шаблона" limit " - PullRequest
0 голосов
/ 27 мая 2020

Я только что обновил свой существующий проект Angular 8 до последней версии Angular 9. Я определил одну переменную в разных элементах div шаблона. Он работает, как ожидалось, и ошибок не было. Я не хочу инициализировать эту переменную в файле .ts. Если я это сделаю, он будет инициализирован как глобальная переменная, и это повлияет на все элементы div, в которых я использовал эту переменную.

, но после обновления до Angular 9 он выдает ошибки 'Невозможно присвоить значение "undefined" переменной шаблона "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".

1 Ответ

0 голосов
/ 27 мая 2020

Angular 9 придумали новые проверки шаблонов, это означает, что во время разработки вы будете делать меньше ошибок, как вы сделали выше, установив значение переменной только для чтения.

Вы можете остановить эти проверки, изменив свойства в tsconfig. json в angularcompileroptions.

Для ссылки на различные доступные проверки вот ссылка на официальный do c.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...