Что такое this.emoji в этом примере? - PullRequest
0 голосов
/ 02 октября 2018

Я пробую эту библиотеку под названием ngx-emoji-mart , я хочу показать выбранные эмодзи в моем поле ввода.Я читал документ и нашел это.Но я не могу найти то, что они имеют в виду под "this.emoji".поэтому у меня есть несколько вопросов:

  1. Что такое "this.emoji" в приведенном ниже коде и как его инициализировать ??

  2. Я думаю, что эторешение для отображения выбранных смайликов внутри div, но как я могу показать смайлики с цветом кожи внутри моего поля ввода?

  3. Как сохранить чат с помощью смайликов?

Допустим, пользователь вводит в поле ввода "Привет, Джон! Как дела?"тогда какой должен быть мой окончательный текст для сохранения в БД?Как я буду правильно отображать это, когда пользователь хочет видеть свою историю чата ??Если я сохраню свой текст так:

Привет, Джон !!: small_smiling_face :, как дела?

Чем я буду отображать его в div с соответствующими смайликами?Нужно ли мне писать какую-либо директиву, которая будет искать текст вроде ": emoji ID:" и заменить его на

<ngx-emoji emoji=':santa::skin-tone-3:' size="16"></ngx-emoji>

Спасибо.

Display emoji as custom element
// $event is from (emojiClick)
const styles = this.emoji.emojiSpriteStyles($event.emoji.sheet, 'twitter'); // pass emoji sheet
const el = document.createElement('div');
Object.assign(el.style, styles); // apply styles to new element
document.body.appendChild(el);

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

как сказал @ Tomáš Pospíšek, this контекстуально ссылается на «текущий» объект.

В Angular this почти всегда относится к классу компонента, который вы определяете.

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

Я проверил этот репозиторий, и да, похоже, что этот пример кода просто есть без большой документации или упоминанияинъекционного сервиса.

Я искал в репозитории вызываемый метод emoji, emojiSpriteStyles .

Похоже, он находится в EmojiService.Просто введите эту услугу.

0 голосов
/ 03 октября 2018

this - текущий контекст.Соответственно это объект, для которого был вызван метод, код которого вы частично цитировали выше.И emoji - это свойство или атрибут this соответственно упомянутого объекта.

Пояснение к примеру:

o = { emoji: '?',
      print: function() {  console.log(this.emoji); };

o.print();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...