2017-07-25 1 views
0

J'essaye d'analyser les données unicode de la réponse http pour emoji etc et la réponse vient comme une paire propriété-valeur d'un objet sous la forme de données JSON de contenu de message ("messageContent":"hello \\ud83d\\ude31"). mais comme un objet forme il affiche:angulaire 2 ne pas analyser les données unicode ( ud83d ude31 ou u0C28 u0C3E) de la réponse http à la vue

data:{... 
messageContent:"hello \ud83d\ude31" 
} 

puis après l'attribution des données MessageContent à la matrice, il affiche même unicode (hello \ud83d\ude31), il n'a pas changé à un emoji ou le caractère correspondant mais si je suis juste en utilisant des années chrome dev console outil comme:

var msg = "hello \ud83d\ude31"; 

alors la valeur msg sera "hello <some emoji or character>" et même si vous utilisez « textContent » en utilisant javascript pour cet élément, il fonctionne très bien, mais en cas de données attribution angular2 à le modèle, il ne fonctionne pas, s'il vous plaît Proposer quelque chose.

Répondre

1

La bibliothèque twemoji convertira Unicode Emoji gifs: Leur exemple préenregistré:

twemoji.parse(
    'I \u2764\uFE0F emoji!', 
    function(icon, options, variant) { 
    return '/assets/' + options.size + '/' + icon + '.gif'; 
    } 
); 

// will produce 
/* 
I <img 
    class="emoji" 
    draggable="false" 
    alt="❤️" 
    src="/assets/36x36/2764.gif"/> emoji! 
*/ 

Par défaut, le paramètre options.size sera la chaîne "36x36"

+0

et dans le composant fetchMsgContent (msg) { \t \t var d = document.querySel ector ('li> article> section'); \t \t d.textContent = (msg.messageContent;); Même procédure fonctionnant sur la console d'outils de développement mais pas dans le code. en fait j'utilise angulaire 2 cli donc, y at-il une chance que cli changeant le formate –

+0

et j'ai également utilisé twemoji comme même ne fonctionne toujours pas –

+0

Est-ce que votre dossier d'actifs est configuré correctement? Aussi pourquoi ne pas simplement utiliser l'interpolation directement dans le balisage du modèle html. Pas besoin de jQuery. Syntaxe {{twemoji.parse (this.text)}}. Ce lien peut vous aider si vous rencontrez https://stackoverflow.com/questions/37385535/calling-method-from-a-angular-2-class-inside-template – JGFMK