【发布时间】:2021-01-30 16:27:58
【问题描述】:
我正在努力解决一个问题,我想创建一个聊天应用程序,并且用户能够使用 @ 相互标记。例如,user1 输入聊天输入 'hi @user2',输出应该看起来一样,但是 '@user2' 是一个链接而不是简单的文本,我想怎么做,但问题是,如果用户输入例如html标签,它被呈现为html。
HTML:
<span v-html="chatFormat(chat.text)"></span>
VUE:
chatFormat(text) {
var words = text.split(" ");
var newStr = '';
words.forEach(function (word) {
if (word.includes('@') >= 1) {
if (word.charAt(0) == '@') {
word = '{{ <a href="/user" class="font-weight-bold" style="text-decoration:none">' + word + '</a> }}';
}
}
newStr = newStr + ' ' + word;
});
return newStr;
}
【问题讨论】:
标签: javascript vue.js