在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 相关文章推荐
JS判断是否为数字,是否为整数,是否为浮点数的代码
Apr 24 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
Nov 18 Javascript
jQuery中index()的用法分析
Sep 05 Javascript
jquery 根据name名获取元素的value值
Feb 27 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
Sep 21 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
Dec 31 Javascript
JS弹出窗口插件zDialog简单用法示例
Jun 12 Javascript
js学习之----深入理解闭包
Nov 21 Javascript
利用node.js制作命令行工具方法教程(一)
Jun 22 Javascript
使用JavaScript实现node.js中的path.join方法
Aug 12 Javascript
js核心基础之闭包的应用实例分析
May 11 Javascript
Node.js API详解之 vm模块用法实例分析
May 27 Javascript
如何基于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抓即时股票信息
2006/10/09 PHP
php实现邮件发送并带有附件
2014/01/24 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
json简单介绍
2008/06/10 Javascript
谷歌浏览器 insertCell与appendChild的区别
2009/02/12 Javascript
Javascript将string类型转换int类型
2010/12/09 Javascript
jQuery动画animate方法使用介绍
2013/05/06 Javascript
php和js对数据库图片进行等比缩放示例
2014/04/28 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
Bootstrap表单控件使用方法详解
2017/01/11 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
vue2的todolist入门小项目的详细解析
2017/05/11 Javascript
使用vs code开发Nodejs程序的使用方法
2017/09/21 NodeJs
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
[01:20:05]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第二场 2月5日
2021/03/11 DOTA
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
2018/08/03 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
美国知名艺术画网站:Art.com
2017/02/09 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
北京银河万佳Java面试题
2012/03/21 面试题
公务员的自我鉴定
2013/10/26 职场文书
医药营销个人求职信
2014/04/12 职场文书
项目投资建议书
2014/05/16 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
社区文艺活动方案
2014/08/19 职场文书
高中班主任评语
2014/12/30 职场文书
Python 匹配文本并在其上一行追加文本
2022/05/11 Python
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript