在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 相关文章推荐
学习ExtJS border布局
Oct 08 Javascript
Javascript图像处理—亮度对比度应用案例
Jan 03 Javascript
原始的js代码和jquery对比体会
Sep 10 Javascript
JavaScript中this的四个绑定规则总结
Sep 26 Javascript
jquery-mobile基础属性与用法详解
Nov 23 Javascript
在网页中插入百度地图的步骤详解
Dec 02 Javascript
jQuery点击导航栏选中更换样式的实现代码
Jan 23 Javascript
javascript事件的传播基础实例讲解(35)
Feb 14 Javascript
vue中七牛插件使用的实例代码
Jul 28 Javascript
vue webuploader 文件上传组件开发
Sep 23 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
Dec 11 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
Jan 06 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编程效率 引入缓存机制提升性能
2010/02/15 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
php如何执行非缓冲查询API
2016/07/22 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
Javascript 遍历对象中的子对象
2009/07/03 Javascript
javaScript call 函数的用法说明
2010/04/09 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
JS验证邮箱格式是否正确的代码
2013/12/05 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
JavaScript必知必会(二) null 和undefined
2016/06/08 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
2016/11/30 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
浅谈React Native Flexbox布局(小结)
2018/01/08 Javascript
Vue循环组件加validate多表单验证的实例
2018/09/18 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
2020/11/11 Javascript
JS实现简易日历效果
2021/01/25 Javascript
[03:30]完美盛典趣味短片 CSGO2019年度名场面
2019/12/07 DOTA
python实现校园网自动登录的示例讲解
2018/04/22 Python
python 正确保留多位小数的实例
2018/07/16 Python
Python箱型图绘制与特征值获取过程解析
2019/10/22 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
CSS3实现类似翻书效果的过渡动画的示例代码
2019/09/06 HTML / CSS
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
Python面试题:Python里面如何生成随机数
2015/03/12 面试题
关键字throw与throws的用法差异
2016/11/22 面试题
高一生物教学反思
2014/01/17 职场文书
会计演讲稿范文
2014/05/23 职场文书
龙猫观后感
2015/06/09 职场文书
pytorch中的model.eval()和BN层的使用
2021/05/22 Python