深入理解vue2.0路由如何配置问题


Posted in Javascript onJuly 18, 2017

这两天学习了Vue.js 感觉路由这个地方知识点挺多的,而且很重要,所以,今天添加一点小笔记。

项目基本手脚架搭建完毕后,建一个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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js类中获取外部函数名的方法与代码
Sep 12 Javascript
基于jquery的不规则矩形的排列实现代码
Apr 16 Javascript
node.js中的fs.open方法使用说明
Dec 17 Javascript
原生JS实现LOADING效果
Mar 16 Javascript
JS实现自动变化的导航菜单效果代码
Sep 09 Javascript
js实现遍历含有input的table实例
Dec 07 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
Feb 17 Javascript
jQuery与JavaScript节点创建方法的对比
Nov 18 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
Feb 19 Javascript
js中的闭包实例展示
Nov 01 Javascript
详解ES6中的 Set Map 数据结构学习总结
Nov 06 Javascript
vue双向绑定及观察者模式详解
Mar 19 Javascript
JavaScript实现二维坐标点排序效果
Jul 18 #Javascript
Angular.js中angular-ui-router的简单实践
Jul 18 #Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
Jul 18 #jQuery
jquery版轮播图效果和extend扩展
Jul 18 #jQuery
Vue学习笔记进阶篇之vue-cli安装及介绍
Jul 18 #Javascript
深入解析Vue 组件命名那些事
Jul 18 #Javascript
js实现本地图片文件拖拽效果
Jul 18 #Javascript
You might like
php实现singleton()单例模式实例
2014/11/06 PHP
php中$_POST与php://input的区别实例分析
2015/01/07 PHP
php+mysql结合Ajax实现点赞功能完整实例
2015/01/30 PHP
Eval and new funciton not the same thing
2012/12/27 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
调整小数的格式保留小数点后两位
2014/05/14 Javascript
对比分析json及XML
2014/11/28 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
新手学习前端之js模仿淘宝主页网站
2016/10/31 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
通过命令行创建vue项目的方法
2017/07/20 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
vue引入jq插件的实例讲解
2017/09/12 Javascript
基于js中this和event 的区别(详解)
2017/10/24 Javascript
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
JSON基本语法及与JavaScript的异同实例分析
2019/01/04 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
jquery插件懒加载的示例
2020/10/24 jQuery
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
python快速编写单行注释多行注释的方法
2019/07/31 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
Python Socket多线程并发原理及实现
2020/12/11 Python
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用
2020/08/24 HTML / CSS
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
英国最大的在线奢侈手表零售商:Jura Watches
2018/01/29 全球购物
护理学中专毕业生求职信
2013/11/11 职场文书
预备党员思想汇报
2014/01/08 职场文书
求职信怎么写
2014/05/23 职场文书
承诺书模板
2014/08/30 职场文书
离婚上诉状范文
2015/05/23 职场文书
Vue实现跑马灯样式文字横向滚动
2021/11/23 Vue.js
redis击穿 雪崩 穿透超详细解决方案梳理
2022/03/17 Redis
redis数据结构之压缩列表
2022/03/21 Redis