如何使用vue js追加元素

时间:2017-04-28 03:16:08

标签: javascript vue.js vuejs2

我有可变的对象数组,其中一个包含字符串中的元素 p 。我想附加元素 div.profile-description

但结果是vue js将原始html返回 div.profile-description

我想 p in the string 成为 html中的元素

var interviewees = [
  {name: 'Anthony', profession: 'Developer', description: '<p>Now he works in one</p><p>very famous company</p>'},
  {name: 'Erick', profession: 'Gamer', description: '<p>He is focusing on playing</p><p>the heroes of the storm game</p>'}
];

var setDescription = new Vue({
	el: '.profile-description',
	data: {
		interviewee_description: interviewees[1].description
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.0/vue.js"></script>
<div class="profile-description">
  {{ interviewee_description }}
</div>

2 个答案:

答案 0 :(得分:2)

使用v-html指令。

<div class="profile-description">
  <div v-html="interviewee_description"></div>
</div>

通常,您应该使用仅返回单个元素的选择器。如果有多个与您的选择器匹配,则class会产生意外结果。

Example

答案 1 :(得分:1)

您需要使用v-html指令:

<div v-html="interviewee_description" class="profile-description"></div>

提醒:

  

在您的网站上动态呈现任意HTML可能非常   危险,因为它很容易导致XSS漏洞。只能使用   可信内容的HTML插值,永远不会在用户提供的内容上   内容。   https://vuejs.org/v2/guide/syntax.html#Raw-HTML