vue 경로-사이트 내 비게 이 션 기능 상세 설명

5657 단어 vue경로
1.우선 Vue router 에 따라 지원 해 야 합 니 다.
npm install vue-router
그리고 프로젝트 에 도입 해 야 합 니 다.

import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
2.router 의 js 파일 을 정의 합 니 다.

import Vue from 'vue'
import Router from 'vue-router'
import User from '../pages/user'
import Home from '../pages/public/home'
import Profile from '../pages/user/profile'
import Form from '../pages/form'
import Detail from '../pages/form/form'
import File from '../pages/form/file'
import Files from '../pages/file'

Vue.use(Router)

export default new Router({
 routes: [
  { path: '/', component:Home,
   children:[
    { path: '/user', component:Profile},
    { path: '/profile', component: User},
    { path: '/form', component: Form},
    { path: '/detail', component: Detail},
    { path: '/profiles', component: Files},
    { path: '/file', component: File}
   ]
  },

  { path: '/login', component:Login},
  { path: '/404', component:Error}
 ] 
})
3.main.js 에 router 도입

import router from './router'

new Vue({
 router,
 render: h => h(App),
}).$mount('#app')
4.입구 페이지 정의 router-view

<div id="app">
 <router-view></router-view>
 </div>
5.path 가'/'로 가리 키 는 페이지 에서 페이지 의 구 조 를 정의 합 니 다.예 를 들 어 위(머리)-중(왼쪽 항-오른쪽 내용)-아래(아래쪽).

<HeaderSection></HeaderSection>
 <div>
  <NavList class="nav"></NavList>
  <router-view class="router"></router-view>
 </div>
<FooterSection></FooterSection>
6.왼쪽 네 비게 이 션 은 element UI 로 이 루어 지고 NavMenu 네 비게 이 션 메뉴 가 있 으 며 네 비게 이 션 기능 을 합 니 다.
엘 리 먼 트 UI 도입:
(1)설치
npm i element-ui -S
(2)사용
main.js 에 다음 코드 를 추가 합 니 다:

import ElementUI from 'element-ui';

  import 'element-ui/lib/theme-chalk/index.css';

  Vue.use(ElementUI);
탐색 표시 줄 의 코드 는 다음 과 같 습 니 다.

<el-menu class="sidebar-el-menu" :default-active="onRoutes" :collapse="collapse" background-color="#324157"
     text-color="#bfcbd9" active-text-color="#20a0ff" unique-opened router>
 <template v-for="item in items">
  <template v-if="item.subs">
   <el-submenu :index="item.index" :key="item.index">
    <template slot="title">
    <i :class="item.icon"></i><span slot="title">{{ item.title }}</span>
    </template>
    <template v-for="subItem in item.subs">
    <el-submenu v-if="subItem.subs" :index="subItem.index" :key="subItem.index">
     <template slot="title">{{ subItem.title }}</template>
     <el-menu-item v-for="(threeItem,i) in subItem.subs" :key="i" :index="threeItem.index">
      {{ threeItem.title }}
     </el-menu-item>
    </el-submenu>
    <el-menu-item v-else :index="subItem.index" :key="subItem.index">
     {{ subItem.title }}
    </el-menu-item>
    </template>
   </el-submenu>
  </template>
  <template v-else>
   <el-menu-item :index="item.index" :key="item.index">
    <i :class="item.icon"></i><span slot="title">{{ item.title }}</span>
   </el-menu-item>
  </template>
 </template>
</el-menu>
왼쪽 네 비게 이 션 의 디 스 플레이 와 아이콘 등 내용 을 정의 합 니 다.index 는 유일한 표지 이 고 path 경 로 를 열 었 습 니 다.router 의 path 에 대응 하면 작 성 된 페이지 를 열 수 있 습 니 다.

items: [
     {
      icon: 'el-icon-share',
      index: 'user',
      title: '    '
     },
     {
      icon: 'el-icon-time',
      index: 'profile',
      title: '    '
     },
     {
      icon: 'el-icon-bell',
      index: '3',
      title: '    ',
      subs: [
       {
        index: 'form',
        title: '    '
       },
       {
        index: '3-2',
        title: '    ',
        subs: [
         {
          index: 'detail',
          title: '      '
         },
         {
          index: 'file',
          title: 'markdown   '
         },
        ]
       },
       {
        index: 'profiles',
        title: '    '
       }
      ]
     },
    ]
7.로그 인 페이지 와 경로 가 필요 없 는 페이지 등 이 있 으 면 router 의 js 파일 에서'/'평 급 의 다른 path 페이지 를 정의 하고 페이지 에 들 어 가 는 것 이 경로 페이지 인지 로그 인 등 페이지 인지 판단 해 야 합 니 다.
위 에서 말 한 것 은 편집장 이 여러분 에 게 소개 한 vue 경로 인 사이트 네 비게 이 션 기능 의 상세 한 해석 과 통합 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 저 에 게 메 시 지 를 남 겨 주세요.편집장 은 제때에 여러분 에 게 답 할 것 입 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기