【发布时间】:2020-05-02 10:48:04
【问题描述】:
我是 VueJS 的新手,我正在尝试在 Vue 应用程序中显示一个本地 html 文件。
我使用 axios 获取 html 文件,如下所示:
<template>
<div>
<h1>bla</h1>
<div v-html="input"></div>
</div>
</template>
<script>
import axios from 'axios'
export default {
data() {
return {
input: null,
}
},
created() {
this.loadFile()
},
methods: {
loadFile() {
axios({
method: "get",
url: "../../test.html"
})
.then(result => {
this.input = result.data;
console.log("Data: " + result.data)
})
.catch(error => {
console.error("error getting file: " + error);
});
},
}
}
</script>
我们使用 Bokeh(交互式图表)生成 html 文件。如果我在浏览器中打开 html 文件,它们会正确显示。这些文件包含
<script type="text/javascript">
和<script type="application/json">。
我用一个简单的“Hello World”-html 示例进行了尝试,它工作正常并显示在 Vue 中。但是当我阅读实际文件时,我只是得到一个空页面。 console.log(result.data) 向我显示了正确且完整的 html 代码,但我没有收到任何错误,所以我无法找出问题所在。
有谁知道,我必须调整什么才能使这项工作?
谢谢!
【问题讨论】:
-
您必须从 Bokeh 生成 HTML 输出吗? Bokeh 具有用于生成 JSON 表示的 Python API 和用于加载它的 JS API。这似乎会干净得多。 docs.bokeh.org/en/latest/docs/user_guide/embed.html#json-items 否则,最好的猜测是
head中HTML文件通常首先加载的CDN资源不再及时加载。这将在 JS 控制台中显示为错误。您可以尝试在页面中手动加载 CDN 脚本。
标签: javascript html json vue.js bokeh