如何在vue js中动态添加router-link

时间:2018-12-22 07:52:18

标签: vue.js vuejs2 vue-router

我面临一个非常有趣的问题。我从服务器返回一些html作为json。我的返回html字符串看起来像这样

str2: " <span class="card_top_com_span link_color" ><router-link to="/profile/sadek3/about">numan sir</router-link> </span></span>, <span class="card_top_com_span link_color" ><router-link to="/profile/sadek3/about">sadek mia</router-link> </span> and 4 of your firiends commented on this post"

这是从服务器返回的。现在,我想添加一些水疗中心链接。

可以是nuxt link, @click event for routing or a </router-link>

我在前端使用v-html来输出html。它确实输出正确。

反正有这样做吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

如评论中所述,最好是使用结构化JSON数据从服务器响应。但是,您可以使其工作,但需要使用<component></component>。如果您有v-html,则仅使用router-link无效:

<div id="app">
  <component :is="{template: theString}"></component>
</div>

new Vue({
    el: '#app',
  data: {
    theString: '<h3>Something Cool</h3>'
  }
})

https://jsfiddle.net/to8smxfb/

PS:您还需要确保theString仅包含一个根元素。例如,您可以将字符串包装到<div></div>中。