`
baobeituping
  • 浏览: 1062391 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

vue路由配置

    博客分类:
  • vue
 
阅读更多

项目基本手脚架搭建完毕后,建一个router文件夹,里面配置一个index.js文件。

文件内容:

npm install vue-router vue-resource --save-dev(安装 vue 路由模块vue-router和网络请求模块vue-resource)

 

[javascript] view plain copy
 
  1. import Vue from 'vue'  
  2. import Router from 'vue-router'  (----引入路由---注释说明)  
  3. import About from '@/components/about'(--这些需要引入的是components文件夹下面创建的一些模板---相对路径----about代表about.vue模块)  
  4. import Home from '@/components/home'  
  5. import Brand from '@/components/brand'  
  6. import Company from '@/components/company'  
  7. import Connect from '@/components/connect'  
  8. import Main from '@/components/main'  
  9. import Join from '@/components/join'  
  10. import News from '@/components/news'  
  11. import Products from '@/components/products'  
  12. import son1 from '@/components/son1'  
  13. import son2 from '@/components/son2'  
  14. import list from '@/components/list'  
  15. import newList from '@/components/newList'  
  16. import culture from '@/components/culture'  
  17. import certification from '@/components/certification'  
  18. import zhuanjia from '@/components/zhuanjia'  
  19. Vue.use(Router)  (--使用---)  
  20.   
  21. export default new Router({  
  22.   routes: [  
  23.     {  
  24.       path: '/main',  
  25.       name: 'main',  
  26.       component: Main  
  27.     },--------------------------------  
  28.     { path: '/',                      这里是路由重定向,比如页面加载时候进入首页  
  29.       redirect: '/main'                   (比如给路由一个选中后的样式为红色  那么这里就能用到了---.router-link-active{样式})  
  30.     },---------------------------------  
  31.     {---------------------这里是配置子路由  
  32.       path: '/brand',  
  33.       name: 'brand',  
  34.       component: Brand,  
  35.       children: [  
  36.         {  
  37.           path: '/',  
  38.           name: 'newList',  
  39.           component: newList  
  40.         },  
  41.         {  
  42.           path: '/brand/culture',  
  43.           name: 'culture',  
  44.           component: culture  
  45.         },  
  46.         {  
  47.           path: '/brand/certification',  
  48.           name: 'certification',  
  49.           component: certification  
  50.         },  
  51.         {  
  52.           path: '/brand/zhuanjia',  
  53.           name: 'zhuanjia',  
  54.           component: zhuanjia  
  55.         }  
  56.       ]  
  57.     },  
  58.     {  
  59.       path: '/about',  
  60.       name: 'about',  
  61.       component: About  
  62.     },  
  63.     {  
  64.       path: '/company',  
  65.       name: 'company',  
  66.       component: Company  
  67.     },  
  68.     {  
  69.       path: '/connect',  
  70.       name: 'connect',  
  71.       component: Connect  
  72.     },  
  73.     {  
  74.       path: '/home',  
  75.       name: 'home',  
  76.       component: Home  
  77.     },  
  78.     {  
  79.       path: '/join',  
  80.       name: 'join',  
  81.       component: Join,  
  82.       children: [  
  83.         {  
  84.           path: '/',  
  85.           name: 'son1',  
  86.           component: son1  
  87.         },  
  88.         {  
  89.           path: '/join/son2',  
  90.           name: 'son2',  
  91.           component: son2  
  92.         }  
  93.       ]  
  94.     },  
  95.     {  
  96.       path: '/list',  
  97.       name: 'list',  
  98.       component: list  
  99.     },  
  100.     {  
  101.       path: '/news',  
  102.       name: 'news',  
  103.       component: News  
  104.     },  
  105.     {  
  106.       path: '/products',  
  107.       name: 'products',  
  108.       component: Products  
  109.     }  
  110.   ]  
  111. })  

接下来就是在每一个模块文件中加入这样的一句话暴露出去:

[javascript] view plain copy
 
  1. <script>  
  2. export default {  
  3.   name: 'about'  ---自定义模块名字  
  4. }  
  5. </script>  

在app中我们可以这样写:

 

 

[javascript] view plain copy
 
  1. <template>  
  2.   <div id="app1" class="pagebox">  
  3.         <div style="clear:both;"></div>  
  4.         <ul class="index-tap">  
  5.             <li><router-link to="/main">首页<p></p></router-link></li>  
  6.             <li><router-link to="/about">关于我们<p></p></router-link></li>  
  7.             <li><router-link to="/products">产品专区<p></p></router-link></li>  
  8.             <li><router-link to="/news">新闻资讯<p></p></router-link></li>  
  9.         </ul>  
  10.         <ul class="index-tap">  
  11.             <li><router-link to="/company">企业风采<p></p></router-link></li>  
  12.             <li><router-link to="/join">招商加盟<p></p></router-link></li>  
  13.             <li><router-link to="/connect">联系我们<p></p></router-link></li>  
  14.             <li><router-link to="/brand">品牌介绍<p></p></router-link></li>  
  15.         </ul>  
  16.         <div style="clear:both;"></div>  
  17.         <router-view transition transition-mode="out-in"></router-view>  
  18.         <div style="clear:both;"></div>  
  19.         <ul class="index-footer clearx">  
  20.             <li v-on:click="showph = !showph">电话</li>  
  21.             <li v-on:click="showmap = !showmap">地图</li>  
  22.             <li v-on:click="showd = !showd">分享</li>  
  23.             <!-- JiaThis Button BEGIN -->  
  24.             <transition name="slide-fade">  
  25.             <div class="jiathis_style_32x32 share" v-show="showd">  
  26.                 <a class="jiathis_button_qzone"></a>  
  27.                 <a class="jiathis_button_tsina"></a>  
  28.                 <a class="jiathis_button_tqq"></a>  
  29.                 <a class="jiathis_button_weixin"></a>  
  30.                 <a class="jiathis_button_renren"></a>  
  31.             </div>  
  32.             </transition>  
  33.             <!-- JiaThis Button END -->  
  34.             <transition name="slide-fade">  
  35.             <div class="share sharephone" v-show="showph">  
  36.                 18305452462  
  37.             </div>  
  38.             </transition>  
  39.             <transition name="slide-fade">  
  40.             <div class="share showmap" v-show="showmap">  
  41.                 <ditu></ditu>---------------------------------自定义模板  
  42.             </div>  
  43.             </transition>  
  44.         </ul>  
  45.         <div class="fuceng" v-if="showmap"></div>  
  46.   </div>  
  47. </template>  
  48.   
  49. <script>  
  50. import ditu from '@/components/home'  
  51. export default {  
  52.   name: 'app',  
  53.   data () {  
  54.     return {  
  55.       search: '',  
  56.       showd: false,  
  57.       showph: false,  
  58.       showmap: false  
  59.     }  
  60.   },  
  61.   mounted () {  
  62.     this.init()  
  63.   },  
  64.   methods: {  
  65.     Search () {  
  66.       if (this.search !== '') {  
  67.         this.$router.push({  
  68.           path: '/list',  
  69.           query: {  
  70.             serInfo: this.search  
  71.           }  
  72.         })  
  73.       } else {  
  74.         alert('请输入搜索内容')  
  75.       }  
  76.     },  
  77.     init: function () {  
  78.       let url = 'http://v3.jiathis.com/code/jia.js'  
  79.       let script = document.createElement('script')  
  80.       script.setAttribute('src', url)  
  81.       document.getElementsByTagName('head')[0].appendChild(script)  
  82.     }  
  83.   },  
  84.   components: {  
  85.     ditu  
  86.   }  
  87. }  
  88. </script>  
分享到:
评论

相关推荐

    详解如何写出一个利于扩展的vue路由配置

    本文将深入探讨如何编写一个易于扩展的Vue路由配置。 首先,了解基础的Vue Router配置。在创建Vue Router实例时,我们需要定义路由组件并指定它们的路径。例如: ```javascript import Vue from 'vue' import Vue...

    解决vue路由name同名,路由重复的问题

    总之,解决Vue路由name同名和路由重复的问题,需要开发者在设计路由配置时遵循命名唯一性的原则,并在遇到路由跳转失败时仔细检查路由配置的正确性。通过不断的实践和调试,可以总结出一套适用于自己项目的路由使用...

    vue路由切换时取消之前的所有请求操作

    本文将详细讲解如何在Vue路由切换时取消之前的所有请求操作。 首先,我们需要了解Vue的`beforeEach`钩子函数,它是在每次路由切换前都会执行的全局守卫。我们可以在`main.js`文件中注册这个钩子,以确保在进入新的...

    Web前端框架应用:第5章 Vue路由-命名路由.pptx

    第5章 Vue路由 初识路由 用户登录注册案例 嵌套路由 命名视图 vue-router 动态路由 命名路由 编程式导航 学习目标 目录 目录 知识架构 5.1 初识路由 知识架构 5.2 vue-router 知识架构 5.3 用户登录注册案例 知识...

    Vue 解决路由过渡动画抖动问题(实例详解)

    首先,我们讨论了Vue的核心模块Vue-Router,它提供了丰富的路由功能,包括基于组件的路由配置和路由参数等,极大地方便了单页面应用的开发。良好的路由管理不仅能够提高应用的可维护性,还能在开发中起到关键作用,...

    vue路由请求开发文档学习资料

    在"19 Vue路由结合请求数据 实现新闻列表 新闻详情数据渲染"这个学习资料中,我们可以深入理解以下几个关键知识点: 1. **Vue Router 的安装与配置**: 在Vue项目中,首先需要通过npm或yarn安装vue-router。安装...

    Vue路由demo

    Vue路由(Vue Router)是官方提供的强大路由管理器,它允许我们实现单页面应用(SPA)中的页面导航和状态管理。在Vue项目中,路由扮演着至关重要的角色,它帮助我们定义页面之间的跳转,并处理与这些跳转相关的数据...

    案例:后台管理系统(VUE路由案例)素材.zip

    例如,在`router-admin`文件夹中,可能包含了多个路由配置,每个配置定义了一个路径(path)和对应的组件(component)。通过在HTML模板中使用`&lt;router-view&gt;`标签,Vue Router会根据当前激活的路由动态渲染相应的...

    vue路由的创建及基本使用

    可以在路由配置中添加`meta`字段,用于存储路由相关的元信息,这些信息可以在组件内部通过`this.$route.meta`访问,常用于权限控制或页面标题设置。 6. **路由间的动画** Vue Router 提供了`transition`属性,...

    vue-cli及vue路由学习

    该资源涉及以下知识点:vue-cli的使用、vue路由(包括路由配置、路由传值、辅助路由、路由守卫、滚动行为)及vue项目打包问题,具体方法步骤,可以参考本人博客,博客地址:https://blog.csdn.net/qq_41115965

    实现vue路由懒加载遇到的问题.zip

    在Vue.js应用中,路由懒加载是一种...综上所述,实现Vue路由懒加载需要综合考虑路由配置、webpack设置、浏览器兼容性、错误处理等多个方面,并且要妥善管理各种配置文件,以确保项目能够正常运行并达到预期的优化效果。

    vue三级路由

    vue如何使用二级路由和三级路由,以及路由的引用,路由的抽离

    关于vue路由缓存清除在main.js中的设置

    1.main.js /* 页面数据缓存 */ var _CACHE_OBJS = {}; function _init_cache(comp, key, cache) { var obj = cache[key]; if (obj !== undefined) { comp[key] = obj;... var deep = typeof comp[key] === 'object'...

    vue路由文件

    2. **路由配置(Route Configuration)**:在Vue应用初始化时,我们需要设置路由配置,这包括定义路由的路径、组件、以及任何相关的元信息。例如: ```javascript const routes = [ { path: '/', component: Home...

    vue路由测试

    路由配置定义了不同URL路径与Vue组件之间的映射,这些配置通常在项目中的`src/router/index.js`文件中进行。例如: ```javascript import Vue from 'vue' import Router from 'vue-router' import HelloWorld from ...

    vue路由事件beforeRouteLeave及组件内定时器的清除方法

    背景 之前在做ADTS项目的时候,首页是一个实时监测的页面,需要每隔5秒更新一次数据,而业务逻辑上的需要先请求告警列表的接口的,从告警列表中拿到数据...后来同事建议我将路由离开事件的代码放到配置了路由的界面中,

    详解vue路由篇(动态路由、路由嵌套)

    在 `router/index.js` 文件中配置路由,比如定义一个名为 `'HelloWorld'` 的路由,它的路径为 `'/'`,并关联到 `HelloWorld` 组件。 ```javascript // router/index.js import Vue from 'vue' import Router from '...

    搭配Vue路由(上)和Vue路由(下)博客学习

    在这个"搭配Vue路由(上)和Vue路由(下)博客学习"中,我们将深入探讨Vue Router的基础知识,包括它的安装、配置以及如何实现路由参数的传递。 首先,Vue Router的安装通常通过npm或yarn在项目中添加依赖。一旦安装...

    vue的路由demo.zip

    import router from './router' // 引入路由配置 new Vue({ router, // 将router注入到Vue实例中 render: h =&gt; h(App) }).$mount('#app') ``` 在`App.vue`中,我们可以使用`&lt;router-view&gt;`组件来定义视图的占位...

Global site tag (gtag.js) - Google Analytics