在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 相关文章推荐
jquery动画3.创建一个带遮罩效果的图片走廊
Aug 24 Javascript
window.location.href中url中数据量太大时的解决方法
Dec 23 Javascript
浅谈javascript中this在事件中的应用
Feb 15 Javascript
理解javascript中Map代替循环
Feb 26 Javascript
JavaScript学习笔记之创建对象
Mar 25 Javascript
Vue.js组件tree实现无限级树形菜单
Dec 02 Javascript
原生js实现水平方向无缝滚动
Jan 10 Javascript
jQuery基于cookie实现换肤功能实例
Oct 14 jQuery
关于vue中的ajax请求和axios包问题
Apr 19 Javascript
JS实现的JSON序列化操作简单示例
Jul 02 Javascript
详解Vue源码学习之callHook钩子函数
Jul 25 Javascript
基于canvas实现手写签名(vue)
May 21 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安装memcached扩展笔记
2015/05/28 PHP
PHP asXML()函数讲解
2019/02/03 PHP
PHP chop()函数讲解
2019/02/11 PHP
js loading加载效果实现代码
2009/11/24 Javascript
分享一个自己写的简单的javascript分页组件
2015/02/15 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
2015/09/07 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
angularjs封装bootstrap时间插件datetimepicker
2016/06/20 Javascript
几行js代码实现自适应
2017/02/24 Javascript
javascript 中的try catch应用总结
2017/04/01 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
vue发送websocket请求和http post请求的实例代码
2019/07/11 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
python中open函数的基本用法示例
2019/09/07 Python
Python模块相关知识点小结
2020/03/09 Python
jupyter notebook 参数传递给shell命令行实例
2020/04/10 Python
Python如何实现爬取B站视频
2020/05/20 Python
Keras搭建自编码器操作
2020/07/03 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
一个J2EE项目团队的主要人员组成是什么
2012/06/04 面试题
《菜园里》教学反思
2014/04/17 职场文书
《山谷中的谜底》教学反思
2014/04/26 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android
nginx location 带斜杠【 / 】与不带的区别
2022/04/13 Servers
vue里使用create, mounted调用方法
2022/04/26 Vue.js