项目基本手脚架搭建完毕后,建一个router文件夹,里面配置一个index.js文件。
文件内容:
npm install vue-router vue-resource --save-dev(安装 vue 路由模块vue-router和网络请求模块vue-resource)
- import Vue from 'vue'
- import Router from 'vue-router' (----引入路由---注释说明)
- import About from '@/components/about'(--这些需要引入的是components文件夹下面创建的一些模板---相对路径----about代表about.vue模块)
- import Home from '@/components/home'
- import Brand from '@/components/brand'
- import Company from '@/components/company'
- import Connect from '@/components/connect'
- import Main from '@/components/main'
- import Join from '@/components/join'
- import News from '@/components/news'
- import Products from '@/components/products'
- import son1 from '@/components/son1'
- import son2 from '@/components/son2'
- import list from '@/components/list'
- import newList from '@/components/newList'
- import culture from '@/components/culture'
- import certification from '@/components/certification'
- import zhuanjia from '@/components/zhuanjia'
- Vue.use(Router) (--使用---)
- export default new Router({
- routes: [
- {
- path: '/main',
- name: 'main',
- component: Main
- },--------------------------------
- { path: '/', 这里是路由重定向,比如页面加载时候进入首页
- redirect: '/main' (比如给路由一个选中后的样式为红色 那么这里就能用到了---.router-link-active{样式})
- },---------------------------------
- {---------------------这里是配置子路由
- path: '/brand',
- name: 'brand',
- component: Brand,
- children: [
- {
- path: '/',
- name: 'newList',
- component: newList
- },
- {
- path: '/brand/culture',
- name: 'culture',
- component: culture
- },
- {
- path: '/brand/certification',
- name: 'certification',
- component: certification
- },
- {
- path: '/brand/zhuanjia',
- name: 'zhuanjia',
- component: zhuanjia
- }
- ]
- },
- {
- path: '/about',
- name: 'about',
- component: About
- },
- {
- path: '/company',
- name: 'company',
- component: Company
- },
- {
- path: '/connect',
- name: 'connect',
- component: Connect
- },
- {
- path: '/home',
- name: 'home',
- component: Home
- },
- {
- path: '/join',
- name: 'join',
- component: Join,
- children: [
- {
- path: '/',
- name: 'son1',
- component: son1
- },
- {
- path: '/join/son2',
- name: 'son2',
- component: son2
- }
- ]
- },
- {
- path: '/list',
- name: 'list',
- component: list
- },
- {
- path: '/news',
- name: 'news',
- component: News
- },
- {
- path: '/products',
- name: 'products',
- component: Products
- }
- ]
- })
接下来就是在每一个模块文件中加入这样的一句话暴露出去:
- <script>
- export default {
- name: 'about' ---自定义模块名字
- }
- </script>
在app中我们可以这样写:
- <template>
- <div id="app1" class="pagebox">
- <div style="clear:both;"></div>
- <ul class="index-tap">
- <li><router-link to="/main">首页<p></p></router-link></li>
- <li><router-link to="/about">关于我们<p></p></router-link></li>
- <li><router-link to="/products">产品专区<p></p></router-link></li>
- <li><router-link to="/news">新闻资讯<p></p></router-link></li>
- </ul>
- <ul class="index-tap">
- <li><router-link to="/company">企业风采<p></p></router-link></li>
- <li><router-link to="/join">招商加盟<p></p></router-link></li>
- <li><router-link to="/connect">联系我们<p></p></router-link></li>
- <li><router-link to="/brand">品牌介绍<p></p></router-link></li>
- </ul>
- <div style="clear:both;"></div>
- <router-view transition transition-mode="out-in"></router-view>
- <div style="clear:both;"></div>
- <ul class="index-footer clearx">
- <li v-on:click="showph = !showph">电话</li>
- <li v-on:click="showmap = !showmap">地图</li>
- <li v-on:click="showd = !showd">分享</li>
- <!-- JiaThis Button BEGIN -->
- <transition name="slide-fade">
- <div class="jiathis_style_32x32 share" v-show="showd">
- <a class="jiathis_button_qzone"></a>
- <a class="jiathis_button_tsina"></a>
- <a class="jiathis_button_tqq"></a>
- <a class="jiathis_button_weixin"></a>
- <a class="jiathis_button_renren"></a>
- </div>
- </transition>
- <!-- JiaThis Button END -->
- <transition name="slide-fade">
- <div class="share sharephone" v-show="showph">
- 18305452462
- </div>
- </transition>
- <transition name="slide-fade">
- <div class="share showmap" v-show="showmap">
- <ditu></ditu>---------------------------------自定义模板
- </div>
- </transition>
- </ul>
- <div class="fuceng" v-if="showmap"></div>
- </div>
- </template>
- <script>
- import ditu from '@/components/home'
- export default {
- name: 'app',
- data () {
- return {
- search: '',
- showd: false,
- showph: false,
- showmap: false
- }
- },
- mounted () {
- this.init()
- },
- methods: {
- Search () {
- if (this.search !== '') {
- this.$router.push({
- path: '/list',
- query: {
- serInfo: this.search
- }
- })
- } else {
- alert('请输入搜索内容')
- }
- },
- init: function () {
- let url = 'http://v3.jiathis.com/code/jia.js'
- let script = document.createElement('script')
- script.setAttribute('src', url)
- document.getElementsByTagName('head')[0].appendChild(script)
- }
- },
- components: {
- ditu
- }
- }
- </script>
相关推荐
本文将深入探讨如何编写一个易于扩展的Vue路由配置。 首先,了解基础的Vue Router配置。在创建Vue Router实例时,我们需要定义路由组件并指定它们的路径。例如: ```javascript import Vue from 'vue' import Vue...
总之,解决Vue路由name同名和路由重复的问题,需要开发者在设计路由配置时遵循命名唯一性的原则,并在遇到路由跳转失败时仔细检查路由配置的正确性。通过不断的实践和调试,可以总结出一套适用于自己项目的路由使用...
本文将详细讲解如何在Vue路由切换时取消之前的所有请求操作。 首先,我们需要了解Vue的`beforeEach`钩子函数,它是在每次路由切换前都会执行的全局守卫。我们可以在`main.js`文件中注册这个钩子,以确保在进入新的...
第5章 Vue路由 初识路由 用户登录注册案例 嵌套路由 命名视图 vue-router 动态路由 命名路由 编程式导航 学习目标 目录 目录 知识架构 5.1 初识路由 知识架构 5.2 vue-router 知识架构 5.3 用户登录注册案例 知识...
首先,我们讨论了Vue的核心模块Vue-Router,它提供了丰富的路由功能,包括基于组件的路由配置和路由参数等,极大地方便了单页面应用的开发。良好的路由管理不仅能够提高应用的可维护性,还能在开发中起到关键作用,...
在"19 Vue路由结合请求数据 实现新闻列表 新闻详情数据渲染"这个学习资料中,我们可以深入理解以下几个关键知识点: 1. **Vue Router 的安装与配置**: 在Vue项目中,首先需要通过npm或yarn安装vue-router。安装...
Vue路由(Vue Router)是官方提供的强大路由管理器,它允许我们实现单页面应用(SPA)中的页面导航和状态管理。在Vue项目中,路由扮演着至关重要的角色,它帮助我们定义页面之间的跳转,并处理与这些跳转相关的数据...
例如,在`router-admin`文件夹中,可能包含了多个路由配置,每个配置定义了一个路径(path)和对应的组件(component)。通过在HTML模板中使用`<router-view>`标签,Vue Router会根据当前激活的路由动态渲染相应的...
可以在路由配置中添加`meta`字段,用于存储路由相关的元信息,这些信息可以在组件内部通过`this.$route.meta`访问,常用于权限控制或页面标题设置。 6. **路由间的动画** Vue Router 提供了`transition`属性,...
该资源涉及以下知识点:vue-cli的使用、vue路由(包括路由配置、路由传值、辅助路由、路由守卫、滚动行为)及vue项目打包问题,具体方法步骤,可以参考本人博客,博客地址:https://blog.csdn.net/qq_41115965
在Vue.js应用中,路由懒加载是一种...综上所述,实现Vue路由懒加载需要综合考虑路由配置、webpack设置、浏览器兼容性、错误处理等多个方面,并且要妥善管理各种配置文件,以确保项目能够正常运行并达到预期的优化效果。
vue如何使用二级路由和三级路由,以及路由的引用,路由的抽离
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'...
2. **路由配置(Route Configuration)**:在Vue应用初始化时,我们需要设置路由配置,这包括定义路由的路径、组件、以及任何相关的元信息。例如: ```javascript const routes = [ { path: '/', component: Home...
路由配置定义了不同URL路径与Vue组件之间的映射,这些配置通常在项目中的`src/router/index.js`文件中进行。例如: ```javascript import Vue from 'vue' import Router from 'vue-router' import HelloWorld from ...
背景 之前在做ADTS项目的时候,首页是一个实时监测的页面,需要每隔5秒更新一次数据,而业务逻辑上的需要先请求告警列表的接口的,从告警列表中拿到数据...后来同事建议我将路由离开事件的代码放到配置了路由的界面中,
在 `router/index.js` 文件中配置路由,比如定义一个名为 `'HelloWorld'` 的路由,它的路径为 `'/'`,并关联到 `HelloWorld` 组件。 ```javascript // router/index.js import Vue from 'vue' import Router from '...
在这个"搭配Vue路由(上)和Vue路由(下)博客学习"中,我们将深入探讨Vue Router的基础知识,包括它的安装、配置以及如何实现路由参数的传递。 首先,Vue Router的安装通常通过npm或yarn在项目中添加依赖。一旦安装...
import router from './router' // 引入路由配置 new Vue({ router, // 将router注入到Vue实例中 render: h => h(App) }).$mount('#app') ``` 在`App.vue`中,我们可以使用`<router-view>`组件来定义视图的占位...