С .map()
неопределенные элементы пропускаются и не передаются на обратный вызов, поэтому, если у вас есть массив без элементов, которые фактически содержат что-либо, тогда обратный вызов никогда не вызывается.
Из сценария ECMA 262, спецификации 5.1 , раздел 15.4.4.19:
callbackfn вызывается только для элементов массива, которые фактически существуют ; он не вызывается для отсутствующих элементов массива.
Я действительно думаю, что это должно быть сделано с помощью функции в JavaScript. Предполагая, что у вас есть объект с этим отображением под названием ADMIN
, вы можете сделать это следующим образом.
<span [ngClass]="(role === 'ADMIN') ? 'badge badge-danger' : 'badge badge-success'">{{ this.ADMIN.USER.ROLES[role] ? 'ADMIN.USER.ROLES.' + role : 'ADMIN.USER.ROLES.unknown' | translate }}</span>