Итак, не вдаваясь в подробности о том, как юникод и все идет вместе с angular vs html, вы можете просто использовать следующее:
компонент:
<p emoji="?"></p>
директива:
import { Directive, ElementRef, Input, OnInit } from '@angular/core';
@Directive({
selector: '[emoji]'
})
export class EmojiDirective implements OnInit {
@Input('emoji') emoji: string;
constructor(private el: ElementRef) { }
ngOnInit() {
this.el.nativeElement.textContent += this.emoji;
}
}
и, в основном, скопируйте emoji по вашему выбору из столбца браузера, чтобы объединить ваш текст
или:
просто создайте свои собственные строки, соответствующие юникоду, например:
компонент:
<p emoji="smile"></p>
директива:
import { Directive, ElementRef, Input, OnInit } from '@angular/core';
@Directive({
selector: '[emoji]'
})
export class EmojiDirective implements OnInit {
@Input('emoji') emoji: string;
constructor(private el: ElementRef) { }
ngOnInit() {
this.el.nativeElement.textContent += this.getEmoji(this.emoji);
}
getEmoji(uniEmoji: string) {
let emoji: string;
switch(uniEmoji){
case 'smile': emoji = '\uD83D\uDE42'
}
return emoji
}
}