【发布时间】:2020-08-03 10:49:28
【问题描述】:
首先,请原谅我的英语,我正在使用翻译。
我有一个 Vue.js 项目,它具有典型的反应式框架的单页路径结构 (SPA),我在其中创建导航和页脚以及在对应路径调用<router-view></router-view>
发生的情况是,我需要在项目中引入一个带有外部代码的页面,我无法与 Vue.js 混合,因为它有太多的 css,太不兼容和太广泛,无法使其协同工作。所以我想看看你是否可以在模板本身中输入对整个外部 html 页面的调用,这通常是用 iframe 完成的。
他们提供的第一件事是带有简单标签的 iframe 本身:
<template>
<iframe src="htmlexterno.html"></iframe>
</template>
但它不起作用,而且从我所看到的情况来看,Iframe 似乎与 Vue.js 不兼容
然后在网上搜索我找到了这段代码:
<template>
<div v-html="varhtml"></div>
<template>
<script>
export default {
data: {
varhtml: '<p>Loading...</p>'
},
ready() {
this.$http.get('htmlexterno.html').then(response => {
this.varhtml = response.data;
});
}
}
</script>
但这对我也不起作用。
然后感谢这个问题的答案的帮助,我得到了它来加载互联网网址,但是 htmlexterno.html 是一个本地项目,对我不起作用。
我做的最后一个是这个,但它只有在我输入一个互联网网址(不是本地)时才有效:
<template>
<iframe :src="ruta"></iframe>
</template>
<script>
export default {
data: () => ({
ruta: 'htmlexterno.html'
})
}
</script>
如果有人可以帮助我,我将不胜感激。
【问题讨论】:
-
您是否尝试在
data中设置varhtml来绑定它? -
是的,但不是这样。
-
“iframe 与 Vue.js 不兼容” 这是谁告诉你的? Vue 与所有 HTML、CSS 和 JS 技术兼容,并且完全不可知论(它不关心它呈现的内容)。它不在乎里面是什么,也不在乎外面是什么。它甚至可以包括 React、Angular 或任何其他框架,或者它可以存在于其中任何一个框架中。 Vue 可以渲染一个按钮以及具有数千个页面的应用程序。告诉你 Vue 不兼容 iframe 的人对 Vue 了解不多。