gpt4 book ai didi

javascript - Vuejs - 将原始 html 链接渲染到

转载 作者:行者123 更新时间:2023-11-30 20:27:38 24 4
gpt4 key购买 nike

我是 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)
}
}
}

所以当我调用启动函数时它会填充 this.html,并且这个 html 变量存在于 v-html 中。一切似乎都有效我得到了 html 并将其呈现在 de 容器中但是链接被破坏了,链接应该指向同一个应用程序,例如 #/test/linkvalue,但因为它们是标签,而且在 vue 中你必须使用它们不起作用。

有一种方法可以实现这种“动态重新路由”还是我做的事情太奇怪了?链接很多,因为它们是从网上抓取的,所以手动解析不是一种选择。

JSFiddle

预先感谢您的帮助

最佳答案

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

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

https://jsfiddle.net/eywraw8t/66262/

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>

关于javascript - Vuejs - 将原始 html 链接渲染到 <router-link>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50712483/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com