Есть html
Hello :smile: <strong>world</strong>
Нужно заменить в нем :smile: на <img src=«/i/smile.gif»/>, но также убрать все пользовательские теги
В итоге должен получиться следующий html
Hello <img src="/i/smile.gif"/> <strong>world</strong>
Пробовал через дерективу
Vue.directive('parse-smiles', {
bind: function (el, binding, vnode) {
},
inserted: function(el, binding, vnode){
el.innerHTML = replaceCodes(el.innerHTML); //тут по регулярке заменяет коды на картинки
}
});
Шаблон
<div v-parse-smiles="{}">{{text}}</div>
Работает, но теряется реактивность. Если к div добавить, например, v-if