在Vue.js中显示未转义的HTML

如何设法在胡子绑定中解释HTML?目前,中断(<br />)只是显示/转义。

小Vue应用:

var logapp = new Vue({
  el: '#logapp',
  data: {
    title: 'Logs',
    logs: [
      { status: true, type: 'Import', desc: 'Learn<br />JavaScript', date: '11.11.2015', id: 1  },
      { status: true, type: 'Import', desc: 'Learn<br />JavaScript', date: '11.11.2015', id: 1  }
    ]
  }
})

这是模板:

<div id="logapp">    
    <table>
        <tbody>
            <tr v-repeat="logs">
                <td>{{fail}}</td>
                <td>{{type}}</td>
                <td>{{description}}</td>
                <td>{{stamp}}</td>
                <td>{{id}}</td>
            </tr>
        </tbody>
    </table>
</div>
LEY米亚2020/03/09 22:53:15

默认情况下,Vue附带了v-html指令来显示它,您将其绑定到元素本身,而不是对字符串变量使用常规的胡子绑定。

因此,对于您的特定示例,您将需要:

<div id="logapp">    
    <table>
        <tbody>
            <tr v-repeat="logs">
                <td v-html="fail"></td>
                <td v-html="type"></td>
                <td v-html="description"></td>
                <td v-html="stamp"></td>
                <td v-html="id"></td>
            </tr>
        </tbody>
    </table>
</div>
斯丁理查德2020/03/09 22:53:15

你可以在这里读到

如果您使用

{{<br />}}

它会逃脱。如果您想要原始html,则必须使用

{{{<br />}}}

编辑(2017年2月5日):正如@hitautodestruct指出的那样,在vue 2中,您应该使用v-html而不是三重花括号。

猴子Harry2020/03/09 22:53:15

您必须使用v-html指令在vue组件中显示html内容

<div v-html="html content data property"></div>
TomGO梅2020/03/09 22:53:15

您可以使用指令v-html进行显示。像这样:

<td v-html="desc"></td>
前端逆天2020/03/09 22:53:15

从Vue2开始,不赞成使用三括号v-html

<div v-html="task.html_content"> </div>

文档链接不清楚我们应该放置在什么地方v-html,您的变量在里面v-html

另外,v-html只能与一起使用<div><span>但不能与一起使用<template>

如果您想在应用程序中实时观看,请单击此处