Используя Angular v5, я создал приложение. На одной из страниц я должен показать описание продукта на языке, выбранном пользователем - _descriptionLang. Текст описания выводится из БД с помощью службы http.
HTML -
<tr *ngFor = "let item of productList">
<td>{{item.productNo}}</td>
<td *ngIf = "_descriptionLang === 'EN'">{{item.description_en}}</td>
<td *ngIf = "_descriptionLang === 'FR'"><span lang = "fr">{{item.description_fr}}</span></td>
<td *ngIf = "_descriptionLang === 'GE'"><span lang = "de">{{item.description_ge}}</span></td>
<td *ngIf = "_descriptionLang === 'IT'"><span lang = "it">{{item.description_it}}</span></td>
<td *ngIf = "_descriptionLang === 'RU'"><span lang = "ru">{{item.description_ru}}</span></td>
<td *ngIf = "_descriptionLang === 'SP'"><span lang = "es">{{item.description_sp}}</span></td>
</tr>
component.ts -
searchCombinations(searchInput) {
this.productService.getProductDetails(searchInput)
.subscribe(response => {
this.productList = response.records;
});
}
Ответ службы JSON -
Приведенный выше код не показывает неанглийское описание, и я получаю пустое поле в столбце описания.
Перевод описания с английского на выбранный язык не является моим требованием.
Может кто-нибудь помочь мне здесь?
@AravindS да ... Я это проверил.
например использовать вот так <span [innerHTML] = "item.description_fr">
Не могли бы вы также предоставить логику своих компонентов, и дважды проверьте item.description_fr и аналогичные переменные не возвращают undefined
@coder Я пробовал [innerHTML] .... результат тот же ..
Добавлен код компонента и ответ json.
не могли бы вы предоставить демонстрацию stackblitz об этой проблеме?
Там все нормально, может быть, вы неправильно выставляете _descriptionLang?
Попробуйте удалить все атрибуты ngIf и посмотреть, появятся ли они. Я предполагаю, что что-то не работает при проверке состояния.





ваша проверка состояния работает нормально?