我是vuejs的新手,仍然在学习。我遇到了这个问题,不确定如何解决。我使用axios在挂载列表时获取列表,并对其进行一些修改并将其设置为用于表的testData变量:
mounted() {
axios.get('/test/list', {responseType: 'json'}).then(
response => {
let data = [];
response.data.forEach(d => {
// Issue is here, I guess because of XSS <div> is not treated as html
d.name += '<div>' + d.isActive + '</div>';
data.push(d);
});
this.testData = data;
}
).finally(() => this.loading = false)
}
我希望每个表格单元格都具有附加信息选项,这样我就可以像这样向div插入附加信息。
这是组件模板的主体部分:
<tbody>
<tr v-for="entry in data">
<td v-for="(value, key) in columns">
{{entry[key]}}
</td>
</tr>
</tbody>
一切正常,除了不被视为html而是被视为文本(我认为是由于XSS漏洞)。无论如何,我可以绕开它吗?还是我做错了,应该使用其他东西?
谢谢
编辑: 我读过有关v-html的文章,但名称部分仅需转义,之后才需要将其视为html。