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 實現把路由單獨分離出來就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: