在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三种排序算法分享
Aug 16 Javascript
js中的scroll和offset 使用比较的实例与分析
Sep 29 Javascript
jquery制作select列表双向选择示例代码
Sep 02 Javascript
Jquery网页内滑动缓冲导航的实现代码
Apr 05 Javascript
详解Bootstrap按钮
Jan 04 Javascript
angular directive的简单使用总结
May 24 Javascript
iscroll.js滚动加载实例详解
Jul 18 Javascript
探索Vue高阶组件的使用
Jan 08 Javascript
Vue中render方法的使用详解
Jan 26 Javascript
React中阻止事件冒泡的问题详析
Apr 12 Javascript
vue+vant实现商品列表批量倒计时功能
Jan 13 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
Feb 10 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全局变量和类配合使用深刻理解
2013/06/05 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
46 个非常有用的 PHP 代码片段
2016/02/16 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
javascript生成/解析dom的CDATA类型的字段的代码
2007/04/22 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
使用webpack搭建vue环境的教程详解
2019/12/31 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
2014/04/25 Python
Python中IPYTHON入门实例
2015/05/11 Python
python使用wxpython开发简单记事本的方法
2015/05/20 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
python标准库os库的函数介绍
2020/02/12 Python
python requests.get带header
2020/05/05 Python
matplotlib绘制多子图共享鼠标光标的方法示例
2021/01/08 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
HTML5+lufylegend实现游戏中的卷轴
2016/02/29 HTML / CSS
Html5移动端网页端适配(js+rem)
2021/02/03 HTML / CSS
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
全球工业:Global Industrial
2020/02/01 全球购物
白酒业务员岗位职责
2013/12/27 职场文书
公司员工检讨书
2014/02/08 职场文书
解放思想大讨论活动心得体会
2014/09/11 职场文书
个人授权委托书范文
2014/09/21 职场文书
1000字打架检讨书
2014/11/03 职场文书
工程技术员岗位职责
2015/04/11 职场文书
关于倡议书的范文
2015/04/29 职场文书