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

建立一个 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设置单独路由页面全屏切换

不是全屏的时候

是全屏的时候

首先思想:获取当前路由页面的节点,对的节点操作定位,脱离文档流,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 实现把路由单独分离出来就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 vue 实现把路由单独分离出来 的全部内容, 来源链接: utcz.com/p/237883.html

回到顶部