#angular #radio-button #primeng #angular9
#angular #переключатель #primeng #angular9
Вопрос:
У меня есть проект, который я недавно перенес на Angular 9 из Angular 8. Проект использует primeng version : 4.3.0
. Теперь p-radiobutton
тег широко используется во всем проекте для отображения переключателей, и он не работает должным образом. p-radiobutton
Тег выдает ошибку времени выполнения: Unable to get property 'nativeElement' of undefined or null reference
из-за чего пользовательский интерфейс искажается . Вся трассировка стека ошибок показана ниже :
TypeError: Unable to get property 'nativeElement' of undefined or null reference
at RadioButton.prototype.writeValue (http://localhost:4200/vendor.js:115296:9)
at setUpControl (http://localhost:4200/vendor.js:79928:5)
at NgModel.prototype._setUpStandalone (http://localhost:4200/vendor.js:82718:9)
at NgModel.prototype._setUpControl (http://localhost:4200/vendor.js:82706:32)
at NgModel.prototype.ngOnChanges (http://localhost:4200/vendor.js:82630:13)
at checkAndUpdateDirectiveInline (http://localhost:4200/vendor.js:67503:9)
at checkAndUpdateNodeInline (http://localhost:4200/vendor.js:76327:13)
at checkAndUpdateNode (http://localhost:4200/vendor.js:76289:9)
at prodCheckAndUpdateNode (http://localhost:4200/vendor.js:76833:5)
at Anonymous function (Function code:194:5)
Строка кода в html, из-за которой выдается ошибка, такова :
<td class="alignHere">
<p-radioButton name="myStuff" value="CAT" [(ngModel)]="StuffChosen"></p-radioButton>
</td>
Когда я комментирую приведенный выше фрагмент кода, ошибка больше не появляется, но мне нужно использовать функциональность переключателя .
Кто-нибудь имеет представление о том, что это за ошибка и что может быть потенциальным решением этой проблемы? Любая помощь будет высоко оценена.
Комментарии:
1. Без предоставления какого-либо правильного решения не голосуйте
close
.2. Я думаю, вам действительно следует обновить версию PrimeNG.
Ответ №1:
primeng выравнивает версии с angular version , это означает, что для angular 10 используется primeng 10, а для angular 11 — primeng 11, и это относится к старой версии.
вы получаете сообщение об ошибке, потому что в primeng 4 некоторые api angular были изменены или удалены.
чтобы решить вашу проблему, просто выберите базовую версию primeng для вашей версии приложения angular
Комментарии:
1. Я решил свою проблему, исправив primeng 4 radiobutton.js использование библиотеки пакетов исправлений. Это спасло мне жизнь, поскольку у меня не было полосы пропускания для обновления prime-ng.