in VueJS by (5.2k points)

1 Answer

0 votes
by (5.2k points)

The typical way to output content in a template is using the mustache syntax tags to output data from a method, prop or data variable. The mustache tags however render text. If you try to render HTML using mustache tags, it will render as a text string and won’t be parsed. To render & parse content as html, we can use the v-html directive as demonstrated below. 


<div id="app" v-html=”title”></div>


new Vue({
    el: '#app',
    data: {
      title: '<h1 style="color: green;">Vue.js</h1>'



As shown in the example above, the v-html directive parses any HTML and as a result, the statement above is rendered as desired. v-html should not be used unless the developer understands risks associated with it. When incorrectly or carelessly used, v-html can expose the site/app to injection attacks where malicious code may be injected and executed from external sources. When interviewing the candidate, please ensure the candidate is aware of this issue with v-html.

Related questions

0 votes
asked Jan 20, 2020 in C Sharp by AdilsonLima (6.3k points)
0 votes
0 votes
asked Sep 28, 2022 in NLP using Spacy by john ganales (14.1k points)
0 votes
asked Aug 26, 2022 in Ruby by Robin (14.6k points)
0 votes
asked Sep 14 in VueJS by AdilsonLima (6.3k points)