zoukankan      html  css  js  c++  java
  • [javascript] vuejs的elementui配合iframe实现页面跳转

    一般后台界面都有三大部分 , 顶部导航 , 左侧导航,右侧的主界面 . 点击左侧和顶部的导航 , 可以在右侧的主界面展示不同的界面

    大部分后台的界面都是使用的iframe嵌套的形式,基于vue也是可以方便的使用iframe的

    html部分如下:

    主要就是给iframe绑定一个变量 , 给左侧导航绑定点击事件 ,都是vuejs里面的用法

    <div id="app">
        <template>
            <el-menu 
                class="hg-header"
                default-active="2"
                mode="horizontal" 
                >
                <el-menu-item index="1" class="mainLogo">海广传媒</el-menu-item>
                <el-menu-item index="2">舆情监控</el-menu-item>
                <el-menu-item index="3">媒资库</el-menu-item>
                <el-header style="text-align: right; font-size: 12px">
                    <el-dropdown>
                        <i class="el-icon-setting" style="margin-right: 15px"></i>
                        <el-dropdown-menu slot="dropdown">
                            <el-dropdown-item>退出</el-dropdown-item>
                        </el-dropdown-menu>
                    </el-dropdown>
                    <span>yalaya</span>
                </el-header>
            </el-menu>
    
            <el-container>
                <el-aside width="200px">
                    <el-menu
                        default-active="1"
                        class="el-menu-vertical-demo"
                        background-color="#545c64"
                        text-color="#fff"
                        active-text-color="#ffd04b"
                        >
                        <el-menu-item index="1" v-on:click="openUrl('index.php?r=media/weibolist', '微博监控')">
                            <i class="el-icon-menu"></i>
                            <span slot="title">微博监控</span>
                        </el-menu-item>
                        <el-menu-item index="3" v-on:click="openUrl('index.php?r=media/toutiaolist', '头条监控')">
                            <i class="el-icon-menu"></i>
                            <span slot="title">头条监控</span>
                        </el-menu-item>
                    </el-menu>
                </el-aside>
    
    
    
                <el-main class="mainMain">
                    <iframe id="mainIframe" class="mainIframe"  v-bind:src="iframeUrl" frameborder="0"></iframe>
                </el-main>
            </el-container>
        </template>            
    </div>

    可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码。v-on:click=""绑定点击事件并且调用一个方法 , v-bind:src 是给属性绑定变量 , 属性的必须这么写
    方法都是写在methods块里

    this.iframeUrl=url+"&time="+new Date().getTime(); 可以防止url没有变化的时候 , 界面不变化不刷新

    js部分如下:

       <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <!-- 引入组件库 -->
        <script src="https://cdn.jsdelivr.net/npm/element-ui@2.13.1/lib/index.js"></script>
        <script>
            new Vue({
                el: '#app',
                data: function () {
                    return {
                        iframeUrl: "index.php?r=media/weibolist",
                    }
                },
                methods: {
                    openUrl: function (url,msg) {
                        this.iframeUrl=url+"&time="+new Date().getTime();
                    },
                }
            });
    
        </script>
  • 相关阅读:
    ofbiz初级教程
    IBASE4J开发环境搭建
    Nginx在windows上安装 及 Nginx的配置及优化
    Windows里正确安装Zookeeper以服务运行
    分享一个完整的Mybatis分页解决方案
    jquery weui ajax滚动加载更多
    Spring+Mybatis+SpringMVC后台与前台分页展示实例
    Mysql怎么样避免全表扫描,sql查询优化
    SQL优化|Java面试题
    mysql 全表扫描、全索引扫描、索引覆盖(覆盖索引)
  • 原文地址:https://www.cnblogs.com/taoshihan/p/12881343.html
Copyright © 2011-2022 走看看