vue3 加载http页面不要使用iframe,使用<script lang="ts" setup>
时间: 2024-06-08 07:06:04 浏览: 204
vue下iframe标签页,切换标签页,iframe不重载
是的,Vue 3 推荐使用 `<script lang="ts" setup>` 来加载 HTTP 页面,而不是使用 iframe。这是因为 iframe 存在一些缺点,如增加页面加载时间、不利于 SEO 等问题。而 `<script lang="ts" setup>` 则可以在组件内部使用模板,而不需要额外的模板文件,同时还支持 TypeScript 类型检查和更好的编译时优化。
以下是一个示例代码:
```html
<template>
<div>
<div v-html="content"></div>
</div>
</template>
<script lang="ts" setup>
import { reactive, onMounted } from 'vue'
import axios from 'axios'
const state = reactive({
content: '',
})
onMounted(async () => {
const response = await axios.get('http://example.com')
state.content = response.data
})
</script>
```
在这个示例中,我们首先导入了 Vue 3 的 `reactive` 和 `onMounted` 方法,以及 Axios 库。然后,我们定义了一个响应式对象 `state`,其中包含了组件的内容 `content`。在 `onMounted` 生命周期钩子中,我们通过 Axios 发送 HTTP 请求,并将响应数据赋值给 `state.content`。最后,在模板中,我们使用 `v-html` 指令将 `state.content` 渲染到页面上。
阅读全文