javascript - VueJS 中的 v-html 不起作用(空页面)

标签 javascript html vue.js vue-component

我是 VueJS 新手,我正在尝试在 Vue 应用程序中显示本地 html 文件。

示例 html:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Test title</title>
  </head>
  <body>
    <p>Hello World</p>
  </body>
</html>

我做了一些研究,听说一个简单的方法是通过 axios 加载文件并显示结果。所以我这样做了如下:

<div v-html="contentdisplay"></div>   

<script> 
import axios from 'axios'

export default { 

  data() { 
    return { 
      input: null
      }
  }, 

 created() {
 this.loadFile()
 },

 computed: {
   contentdisplay: function() {
   return this.input;
   }
 },

 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>

Example.html 工作正常,但是当我尝试加载真实文件时,我看不到任何内容。该文件包含
<script type="text/javascript" ... </script><script type="application/json"> ... </script>

我没有收到任何错误消息,并且带有 result.data 的控制台日志显示了正确的 html,但 Vue 没有向我显示任何内容。我应该调整什么才能使这项工作正常进行?

感谢您的帮助。

最佳答案

你为什么不这样做:

<div v-html="input"></div>  

关于javascript - VueJS 中的 v-html 不起作用(空页面),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59750872/

相关文章:

javascript - 将 MS Word 粘贴为文本但保留一些样式 Jquery

javascript - 让 Chrome 和 Firefox 显示视口(viewport)

javascript - 使用 for 循环将 onclick 方法附加到多个 Canvas

javascript - 如何动态添加新对象到 vue(对象)数据数组 - Vue.js?

数据表中输入和下拉的 CSS 定位

javascript - 尝试使用 JavaScript Snippet Widget 在 Mendix 中以编程方式触发 Enter

javascript - 使用 ng-repeat 将按不同类别排序的所有项目打印到行中

javascript - Active Bootstrap 选项卡在 DropDown SelectedIndexChanged 事件中丢失其索引?

javascript - JSON jQuery 菜单问题

javascript - 如果在初始化根中的对象时未显式声明,则组件 v for 无法识别 prop