vue 实现把路由单独分离出来


Posted in Javascript onAugust 13, 2020

建立一个 router.js 文件

引入

import Vue from 'vue'
import VueRouter from 'vue-router'
 
import Home from '../components/home/home.vue'

然后注册

Vue.use(VueRouter);
const router = new VueRouter({
 mode : 'history',
 base: __dirname,
  routes: [
  {
    path: historyUrl + '/',
    component: Home,
    name : '主页'
  },
]}

最后暴露出云

export default router

在main.js 里面直接引入然后就可以用了

import router from './main/router.js'
const app = new Vue({
 router : router,
 watch : {
  '$route' (to,from,next){
   //console.log(to) //路由监听
   //console.log(from)
  }
  },
 render : h => h(App)
}).$mount('#app');

别的 js 文件如果要调用 router 方法,直接像 main.js 一样引入直接用就可以了

补充知识:vue.cli3设置单独路由页面全屏切换

不是全屏的时候

vue 实现把路由单独分离出来

是全屏的时候

vue 实现把路由单独分离出来

首先思想:获取当前路由页面的节点,对的节点操作定位,脱离文档流,top:0,;left:0;

1.用ref获取当前路由页面最大的div,也就是template包的第一个div,也可以是其他的

<template>
 <div ref="index"> //ref标识
   <Title :refDome='refDome'></Title>
 </div>
</template>

2.如果要把节点从父组件传到子组件的话,在data里面定义一个值,然后在mounted赋值,在传给子组件(如果没有子组件直接跳过2,直接看3)

父组件

<template>
 <div ref="index">
   <Title :refDome='refDome'></Title> //这里把data的值转给子组件Title 
 </div>
</template>
<script>
import Title from '../components/title'
export default {
  components:{
    Title
  },
  data(){
    return{
      refDome:null
    }
  },
  mounted(){
    this.refDome = this.$refs.index //在这里给data赋值,记得要在mounted赋值
  }
}

子组件props接收值

<script>
export default {
 props: ['refDome'],
}
</script>

3.然后在切换全屏的按钮上绑定@click事件,在点击当时操作节点,在data里面设置一个screen值为1,为了来回切换

// 点击切换全屏
  handleFullScreen() {
   if (this.screen % 2 == 0) {
    this.refDome.style.position = 'static'
    this.screen++
   } else {
    this.refDome.style.width = '100%'
    this.refDome.style.height = '100%'
    this.refDome.style.position = 'absolute'
    this.refDome.style.top = '0'
    this.refDome.style.left = '0'
    this.refDome.style.zIndex = '10'
    this.refDome.style.background = '#fff'
    this.screen++
   }
  },

以上这篇vue 实现把路由单独分离出来就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
阻止子元素继承父元素事件具体思路及实现
May 02 Javascript
setTimeout()递归调用不加引号出错的解决方法
Sep 05 Javascript
js获取checkbox值的方法
Jan 28 Javascript
jQuery实现新消息在网页标题闪烁提示
Jun 23 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
Aug 27 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
Nov 23 Javascript
jQuery手动点击实现图片轮播特效
Apr 20 Javascript
JavaScript重载函数实例剖析
May 13 Javascript
原生js实现省市区三级联动代码分享
Feb 12 Javascript
如何为vuex实现带参数的 getter和state.commit
Jan 04 Javascript
vue eslint简要配置教程详解
Jul 26 Javascript
微信小程序入门之绘制时钟
Oct 22 Javascript
vue项目接口域名动态获取操作
Aug 13 #Javascript
vue接通后端api以及部署到服务器操作
Aug 13 #Javascript
vue打包npm run build时候界面报错的解决
Aug 13 #Javascript
解决vue项目,npm run build后,报路径错的问题
Aug 13 #Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
Aug 13 #Javascript
vue实现把接口单独存放在一个文件方式
Aug 13 #Javascript
js实现幻灯片轮播图
Aug 14 #Javascript
You might like
关于Iframe如何跨域访问Cookie和Session的解决方法
2013/04/15 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
Javascript isArray 数组类型检测函数
2009/10/08 Javascript
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
2015/01/30 Javascript
解析浏览器端的AJAX缓存机制
2016/06/21 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
基于JQuery和原生JavaScript实现网页定位导航特效
2017/04/03 jQuery
ZeroClipboard.js使用一个flash复制多个文本框
2017/06/19 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
[00:37]DOTA2上海特级锦标赛 OG战队宣传片
2016/03/03 DOTA
Python实现的批量下载RFC文档
2015/03/10 Python
用Python将IP地址在整型和字符串之间轻松转换
2017/03/22 Python
Python中将dataframe转换为字典的实例
2018/04/13 Python
Python lambda表达式用法实例分析
2018/12/25 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
python Django里CSRF 对应策略详解
2019/08/05 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
Python编程快速上手——选择性拷贝操作案例分析
2020/02/28 Python
Python根据指定文件生成XML的方法
2020/06/29 Python
Python自动创建Excel并获取内容
2020/09/16 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
大学毕业感言100字
2014/02/03 职场文书
优秀毕业生就业推荐信
2014/05/22 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
mongoDB数据库索引快速入门指南
2022/03/23 MongoDB
ipad隐藏软件app图标方法
2022/04/19 数码科技