在vue中嵌入外部网站的实现


Posted in Javascript onNovember 13, 2020

利用iframe

top:导航栏的height

left:左侧菜单栏的width

src:右侧页面要嵌入的外部网站

<template>
 <div>
  <iframe src="https://www.iconfont.cn/" id="mobsf" scrolling="no" frameborder="0" style="position:absolute;top:64px;left: 240px;right:0px;bottom:100px;"></iframe>
 </div>
</template> 
 
<script>
 export default {
  data () {
   return {
   }
  },
  mounted(){
   /**
   * iframe-宽高自适应显示 
   */
   function changeMobsfIframe(){
    const mobsf = document.getElementById('mobsf');
    const deviceWidth = document.body.clientWidth;
    const deviceHeight = document.body.clientHeight;
    mobsf.style.width = (Number(deviceWidth)-240) + 'px'; //数字是页面布局宽度差值
    mobsf.style.height = (Number(deviceHeight)-64) + 'px'; //数字是页面布局高度差
   }

   changeMobsfIframe()

   window.onresize = function(){
    changeMobsfIframe()
   }
  }
 }
</script>

在vue中嵌入外部网站的实现

补充知识:导航钩子有哪几种,如何将数据传入下一个点击的路由页面

1.全局导航守卫

//前置钩子
router.beforeEach((to,from,next)=>{
 //do something
})
//后置钩子(没有next参数)
router.afterEach((to, from)=>{
 // do something
})

2.路由独享守卫

const router = new VueRouter({
 routes: [
 {
  path: '/file',
  component: File,
  beforeEnter: (to, from, next)=>{
  //do something
  } 
 }
 ]
})

3.组件内的导航钩子

组件内的导航钩子主要有三种,beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave。它们是直接在路由组件内部直接进行定义的

data(){
 return{
 pro:'产品'
 }
},
beforeRouteEnter:(to,from,next)=>{
 console.log(to)
 next(vm => {
 console.log(vm.pro)
 })
}

注意:beforeRouteEnter不能获取组件实例this,因为当守卫执行前,组件实例还没被创建出来,我们可以通过给next传入一个回调来访问组件实例,在导航被确认时,会执行这个回调,这时就可以访问组件实例了。

仅仅是beforeRouterEnter支持给next传递回调,其他两个并不支持,因为剩下两个钩子可以正常获取组件实例this。

4.params和query

params传参

this.$router.push({
 name: 'detail',
 params: {
 name: 'xiaoming'
 } 
});
//接收
this.$route.params.name

query

this.$router.push({
 path: '/detail',
 query:{
 name: 'xiaoming'
 }
});
//接收
this.$route.query.id

query和params的区别

params只能用name来引入路由,query既可以用name又可以用path(通常是path)

params类似于post方法,参数不会在地址栏中显示

query类似于get,页面跳转的时候,可以在地址栏看到参数

补充:

router为VueRouter实例,想要导航到不同url,则使用router.push方法

$route为当前router跳转对象,在里边获取name,path,query,params等数据

以上这篇在vue中嵌入外部网站的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
function, new function, new Function之间的区别
Mar 08 Javascript
JavaScript中的console.trace()函数介绍
Dec 29 Javascript
jquery获取节点名称
Apr 26 Javascript
JS随机调用指定函数的方法
Jul 01 Javascript
jquery实现可关闭的倒计时广告特效代码
Sep 02 Javascript
p5.js入门教程之图片加载
Mar 20 Javascript
在Vue 中使用Typescript的示例代码
Sep 10 Javascript
微信小程序自定义tabBar组件开发详解
Sep 24 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
May 18 Javascript
利用百度echarts实现图表功能简单入门示例【附源码下载】
Jun 10 Javascript
Vue中foreach数组与js中遍历数组的写法说明
Jun 05 Vue.js
el-table-column 内容不自动换行的解决方法
Aug 14 Vue.js
如何基于viewport vm适配移动端页面
Nov 13 #Javascript
VueCli生产环境打包部署跨域失败的解决
Nov 13 #Javascript
Vue使用Proxy代理后仍无法生效的解决
Nov 13 #Javascript
vue iview 隐藏Table组件里的某一列操作
Nov 13 #Javascript
详解Java中String JSONObject JSONArray List转换
Nov 13 #Javascript
vue print.js打印支持Echarts图表操作
Nov 13 #Javascript
vue 中使用print.js导出pdf操作
Nov 13 #Javascript
You might like
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
php设计模式之命令模式使用示例
2014/03/02 PHP
Codeigniter购物车类不能添加中文的解决方法
2014/11/29 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
5 cool javascript apps
2007/03/24 Javascript
js停止输出代码
2008/07/20 Javascript
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
当jQuery1.7遇上focus方法的问题
2014/01/26 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
jquery中添加属性和删除属性
2015/06/03 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
js脚本分页代码分享(7种样式)
2015/08/19 Javascript
javascript实现tab切换的四种方法
2015/11/05 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
2016/07/12 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
2020/05/20 Javascript
JS简易计算器实例讲解
2020/06/30 Javascript
Python正则表达式教程之二:捕获篇
2017/03/02 Python
Python微信库:itchat的用法详解
2017/08/14 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
python实现键盘输入的实操方法
2019/07/16 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
博士生求职信
2014/07/06 职场文书
2015年质量月活动总结报告
2015/03/27 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技