zoukankan      html  css  js  c++  java
  • vue 路由使用

    1.安装

    2.使用

    3.router几个用法

    一 安装

    npm安装

    npm install vue-router

    二 使用

    1.绑定vue对象

    2.异步加载组件 component: () => import('../views/mysetting/person')

    <script>
      import Vue from 'vue'
      import Router from 'vue-router'
      import login from '../views/login'
    
      Vue.use(Router)
    
      export default new Router({
        routes: [
          {
            path: '/login',
            name: 'login',
            component: login
          }
        ]
      })
    </script>
    // The Vue build version to load with the `import` command
    // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
    import Vue from 'vue'
    import App from './App'
    import router from './router'
    import ElementUI from 'element-ui';
    import 'element-ui/lib/theme-chalk/index.css';
    
    Vue.config.productionTip = false
    Vue.use(ElementUI);
    
    /* eslint-disable no-new */
    new Vue({
      el: '#app',
      router,
      components: { App },
      template: '<App/>'
    })
    import Vue from 'vue'
    import Router from 'vue-router'
    import HelloWorld from '@/components/HelloWorld'
    import login from '../views/login'
    import index from '../views/index'
    
    Vue.use(Router)
    
    export default new Router({
      routes: [
        {
          path: '/login',
          name: 'login',
          component: login
        },
        {
          path: '/',
          redirect: '/index',
          name: 'index',
          component: index
        },
        {
          path: '/index',
          name: 'index',
          component: index,
          children: [
            {
              path: '/person/:id',
              name: 'person',
              component: () => import('../views/mysetting/person'),
            },
            {
              path: '/department',
              name: 'department',
              component: () => import('../views/mysetting/department'),
            }
          ]
        }
      ]
    })

    二 router几个用法

       1.跳转页面:router-view   router-link

    <router-view></router-view>
    <router-link to="/login">登录页面</router-link>
    2.重定向:redirect
     {
            path: '/',
            redirect: '/login',
            component: login
          }

      3.嵌套路由:children

    import Vue from 'vue'
    import Router from 'vue-router'
    import HelloWorld from '@/components/HelloWorld'
    import login from '../views/login'
    import index from '../views/index'
    import person from '../views/mysetting/person'
    import department from '../views/mysetting/department'
    
    Vue.use(Router)
    
    export default new Router({
      routes: [
        {
          path: '/login',
          name: 'login',
          component: login
        },
        {
          path: '/',
          redirect:'/index',
          name: 'index',
          component: index
        },
        {
          path: '/index',
          name: 'index',
          component: index,
          children:[
            {
              path: '/person/:id',
              name: 'person',
              component: person,
            },
            {
              path: '/department',
              name: 'department',
              component: department,
            }
          ]
        }
      ]
    })

    4.命令路由:name 

    export default new Router({
        routes: [
           
          {
            path: '/login',
            name: 'login',
            component: login
          }
        ]
      })
      <!--<router-link to="/person/123">个人信息</router-link>-->
                       <router-link :to="{name:'person', params: { id: 123 }}">个人信息</router-link>

     5.js导航

    <el-button @click="gotoRouter('/person/123')">跳转</el-button>
    <el-button @click="gotoRouter2('/person/123')">跳转</el-button>
    <el-button @click="gotoRouter3('person',123)">跳转</el-button>
    <el-button @click="gotoRouter4('person',123)">跳转</el-button>
     gotoRouter(path){
            this.$router.push(path)   //字符串  http://localhost:8080/#/person/123
          },
          gotoRouter2(path){
            this.$router.push({path:path})  //对象  http://localhost:8080/#/person/123
          },
          gotoRouter3(name,id){
            this.$router.push({name:'person',params:{id:123}})   //命令路由 http://localhost:8080/#/person/123
          },
          gotoRouter4(name,id){
            this.$router.push({path:'person',query:{id:123}})   //带参数查询 对应:http://localhost:8080/#/person?id=123
          }
  • 相关阅读:
    windbg vmware win7联机调试环境搭建
    c++回调实现
    导出函数,非导出函数,公开函数,非公开函数
    fileAPI 实现移动端 添加图片 预览缩略图(自己学习)
    Ztree _ 横向显示子节点、点击文字勾选、去除指定元素input的勾选状态
    仿微信公众平台“打标签”功能~~~
    踩坑之路_"var name = ' ';"_迷之BUG
    asp.net页面生命周期《转》
    2009年软件设计师考试大纲<软考>
    typedef用法总结。
  • 原文地址:https://www.cnblogs.com/ligenyun/p/12443336.html
Copyright © 2011-2022 走看看