在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 相关文章推荐
JavaScript入门教程(1) 什么是JS
Jan 31 Javascript
js Function类型
Dec 04 Javascript
JS实现图片垂直居中显示小结
Dec 13 Javascript
利用纯JS实现像素逐渐显示的方法示例
Aug 14 Javascript
Vue组件实例间的直接访问实现代码
Aug 20 Javascript
Vue父子组件双向绑定传值的实现方法
Jul 31 Javascript
RxJS的入门指引和初步应用
Jun 15 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
Aug 11 Javascript
浅谈layui分页控件field参数接收对象的问题
Sep 20 Javascript
js与jquery获取input输入框中的值实例讲解
Feb 27 jQuery
基于JavaScript获取url参数2种方法
Apr 17 Javascript
JavaScript 实现继承的几种方式
Feb 19 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/12/06 PHP
PHP连接SQLSERVER 注意事项(附dll文件下载)
2012/06/28 PHP
yii实现CheckBox复选框在同一行显示的方法
2014/12/03 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
javascript实现json页面分页实例代码
2014/02/20 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
JavaScript通过事件代理高亮显示表格行的方法
2015/05/27 Javascript
移动端JQ插件hammer使用详解
2015/07/03 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
VC调用javascript的几种方法(推荐)
2016/08/09 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
利用node.js制作命令行工具方法教程(一)
2017/06/22 Javascript
js CSS3实现卡牌旋转切换效果
2017/07/04 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
Python迭代器和生成器介绍
2015/03/06 Python
详解Python中的正则表达式的用法
2015/04/09 Python
Python实现控制台输入密码的方法
2015/05/29 Python
python实现音乐下载的统计
2018/06/20 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
Python 函数绘图及函数图像微分与积分
2019/11/20 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
django model通过字典更新数据实例
2020/04/01 Python
python dict乱码如何解决
2020/06/07 Python
Python爬虫之Spider类用法简单介绍
2020/08/04 Python
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
韩国11街:11STREET
2018/03/27 全球购物
大学生文员专业个人求职信范文
2014/01/05 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL
MySQL 数据表操作
2022/05/04 MySQL