前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[javascript] vuejs的elementui配合iframe实现页面跳转

[javascript] vuejs的elementui配合iframe实现页面跳转

作者头像
唯一Chat
发布2020-05-19 13:00:47
2K0
发布2020-05-19 13:00:47
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地

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

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

html部分如下:

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

代码语言:javascript
复制
<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部分如下:

代码语言:javascript
复制
   <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>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档