Преобразуйте десятичную строку ссылки в десятичную, чтобы отобразить смайлики с помощью HTML - PullRequest
0 голосов
/ 28 июня 2018

Проект построен с использованием Angular и TypeScript. Кусок HTML такой,

<span>&#9748;</span>

в промежутке есть десятичная ссылка, и при рендеринге она отображается как смайлик: 100

Теперь я хочу заменить десятичный код &#9748; на функцию, которая возвращает десятичное число, чтобы диапазон мог отображать различные эмодзи в зависимости от ввода. Тип возвращаемого значения - строка, и я хочу преобразовать его в Unicode. Функция как это:

function getEmojiCode(desc: string): any {
    desc = desc.toLowerCase();
    switch (desc) {
        case 'rain': { return '&#9748;'; }
        case 'clear': { return '&#9731;'; }
        case 'clouds': { return '&#9729;'; }
        default: { return '&#9731;'; }
    }
}

Затем я поместил функцию в HTML

<span>{{getEmojiCode(res.desc)}}</span>

В отрисованном HTML-коде вместо диапазона он показывает строку &#9731; в виде текста, а не эмодзи. Как я могу преобразовать строку в десятичный код и позволить ей показывать эмодзи в диапазоне?

1 Ответ

0 голосов
/ 28 июня 2018

На самом деле значение, возвращаемое функцией, добавляется в виде строки. Я не знаю, какой фреймворк вы используете, но в angular вы бы сделали что-то вроде этого.

<span [innerHTML]="getEmojiCode(res.desc)"≥ </span>

Если вы используете какой-то другой фреймворк, добавьте строку, возвращаемую функцией как innerHTML, в span ...

...