通过iframe实现纯html使用elementUI布局的路由嵌套

对于HTML项目,可以通过使用 <iframe> 标签来实现类似于路由嵌套的方式。

具体实现步骤如下:

  1. 创建一个 HTML 页面,包含 <el-container><el-main> 标签。这个 HTML 页面作为布局组件,用来包装其他页面内容。
<!-- layout.html -->
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Layout</title>
  <!-- 引入必要的 CSS 和 JS 文件 -->
  <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
  <script src="https://unpkg.com/vue"></script>
  <script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>
<body>
  <div id="app">
    <el-container>
      <el-header>头部内容</el-header>
      <el-main>
        <iframe :src="url"></iframe>
      </el-main>
      <el-footer>底部内容</el-footer>
    </el-container>
  </div>

  <script>
    var app = new Vue({
      el: '#app',
      data: {
        url: ''
      },
      created: function() {
        // 在此处设置 iframe 的默认 URL 地址
        this.url = 'home.html'
      }
    })
  </script>
</body>
</html>
  1. 对于每个子页面,你可以创建一个单独的 HTML 文件,例如 home.htmlabout.htmlcontact.html 等,并将它们嵌套在布局组件的 <el-main> 标签中。

例如:

<!-- home.html -->
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Home</title>
</head>
<body>
  <h1>首页</h1>
  <p>这里是主页的内容</p>
</body>
</html>
<!-- about.html -->
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>About</title>
</head>
<body>
  <h1>关于我们</h1>
  <p>这是关于我们的内容</p>
</body>
</html>
<!-- contact.html -->
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Contact</title>
</head>
<body>
  <h1>联系我们</h1>
  <p>这里是联系我们的内容</p>
</body>
</html>
  1. 最后,在主页面中引入布局组件即可。
<!-- main.html -->
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Main</title>
  <!-- 引入必要的 CSS 和 JS 文件 -->
  <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
  <script src="https://unpkg.com/vue"></script>
  <script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>
<body>
  <div id="app">
    <layout></layout>
  </div>

  <script>
    Vue.component('layout', {
      template: '<iframe src="layout.html"></iframe>'
    })

    var app = new Vue({
      el: '#app'
    })
  </script>
</body>
</html>

通过以上方法,你可以使用 iframe 标签来实现路由嵌套的效果,将每个页面内容放在同一个 <el-main> 标签中,而且这种方式也更加灵活,适用于 HTML 项目。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值