Javascript Vuejs-呈现到<;的原始html链接;路由器链路>;

Javascript Vuejs-呈现到<;的原始html链接;路由器链路>;,javascript,html,vue.js,frontend,Javascript,Html,Vue.js,Frontend,一,;我是VueJS的新手,我正在做一些奇怪的实验。我使用python/flask构建了一个后端服务,该后端为我提供了一个包含许多标记的html代码字符串,我想在我的Vue应用程序中呈现它,我有一个调用后端的方法,如下所示: async execute (method, resource, data) { return client({ method, url: resource, data: data }).then(async req =&

一,;我是VueJS的新手,我正在做一些奇怪的实验。我使用python/flask构建了一个后端服务,该后端为我提供了一个包含许多标记的html代码字符串,我想在我的Vue应用程序中呈现它,我有一个调用后端的方法,如下所示:

async execute (method, resource, data) {
    return client({
      method,
      url: resource,
      data: data
    }).then(async req => {
      return req.data.html
    })
  },
  callBack (id) {
    console.log(id)
    return this.execute('post', '/content/', {body: { 'id': id }})
  }
在.vue文件中,我有:

export default {
  data () {
    return {
      loading: false,
      launch: [],
      html: 'none',
      page: this.$route.params.article
    }
  },
  beforeMount () {
    console.log('beforeee')
    this.html = api.callBack(this.page)
  },
  methods: {
    async launch () {
      this.launch = ''
      this.html = await api.callBack(this.page)
    }
  }
}
因此,当我调用launch函数时,它会填充this.html,这个html变量存在于一个v-html中。一切似乎都正常。我得到html并在de容器中呈现它,但链接断开了,链接应该指向同一个应用程序,类似于#/test/linkvalue,但它们是标记,在vue中,您必须使用它们,但它们不起作用

有一种方法可以实现这种“动态重路由”,或者我做了一些太奇怪的事情? 链接很多,因为它们是从web上刮下来的,所以手动解析不是一个选项


提前感谢您的帮助

另外,您不应该返回原始html。只需返回路由的路径,然后循环路径并以这种方式创建链接

您可以使用
v-html
vue指令输出原始html

newvue({
el:“应用程序”,
数据:{
rawhtml:“嗨,我是原始html。”
},
方法:{
}
})

出于好奇:如果你有一个Vue应用程序,为什么要在服务器上生成html?嗨!我只是在做一些实验。我们的想法是使用服务器来废弃网页,做一些预处理、存储,然后将html或其他东西返回给应用程序进行渲染。我有类似的想法,但html中的链接已经失效。根据文件,他们应该是。为了清楚起见,html可以正常工作并呈现,但链接和其中的标记不起作用。@RolandDeschain您能创建一个js FIDLE来复制它吗?您好,我在调用启动中创建了这个图像。html变量填充了许多指向vue路由器中定义的#/route/x的链接,但是这些链接不起作用,我点击了它们,什么也没有。事实上,这些链接确实改变了浏览器中的url,但是页面不会重新加载,视图也不会相应地用新的url重新加载。@RolandDeschain如果你将html链接改为,它会工作得很好。能否将vue路由器代码添加到问题中?
new Vue({
  el: "#app",
  data: {
    rawhtml: "<h1 style='color: red;'>Hi, I am raw html.</h1>"
  },
  methods: {    
  }
})


<div id="app">
  <div v-html="rawhtml"></div>
</div>