深入理解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与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
Mar 12 Javascript
js预载入和JavaScript Image()对象使用介绍
Aug 28 Javascript
Jquery的hover方法让鼠标经过li时背景变色
Sep 06 Javascript
Javascript数组与字典用法分析
Dec 13 Javascript
扒一扒JavaScript 预解释
Jan 28 Javascript
浅谈JavaScript的内置对象和浏览器对象
Jun 03 Javascript
AngularJS 路由详解和简单实例
Jul 28 Javascript
js动态引入的四种方法
May 05 Javascript
JavaScript中click和onclick本质区别与用法分析
Jun 07 Javascript
vue 权限认证token的实现方法
Jul 17 Javascript
javascript History对象原理解析
Feb 17 Javascript
javascript遍历对象的五种方式实例代码
Oct 24 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的栏目导航程序
2006/10/09 PHP
php安全配置记录和常见错误梳理(总结)
2017/03/28 PHP
PHP清除缓存的几种方法总结
2017/09/12 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
JavaScript 闭包在封装函数时的简单分析
2009/11/28 Javascript
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
jQuery实现高亮显示的方法
2015/03/10 Javascript
jQuery使用addClass()方法给元素添加多个class样式
2015/03/26 Javascript
JavaScript字符串常用类使用方法汇总
2015/04/14 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
2015/09/07 Javascript
javascript实现自动填写表单实例简析
2015/12/02 Javascript
浅析JS操作DOM的一些常用方法
2016/05/13 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
JS生成一维码(条形码)功能示例
2017/01/19 Javascript
详解Angular调试技巧之报错404(not found)
2018/01/31 Javascript
webpack 4.0.0-beta.0版本新特性介绍
2018/02/10 Javascript
Python 自动补全(vim)
2014/11/30 Python
Python的re模块正则表达式操作
2016/05/25 Python
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
Python进阶:生成器 懒人版本的迭代器详解
2019/06/29 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
python画图常规设置方式
2020/03/05 Python
python 元组的使用方法
2020/06/09 Python
在 Python 中使用 7zip 备份文件的操作
2020/12/11 Python
学校经典推荐信
2013/10/30 职场文书
《诺贝尔》教学反思
2014/02/17 职场文书
银行贷款承诺书
2014/03/29 职场文书
我的大学生活演讲稿
2014/04/25 职场文书
初中学习计划书范文
2014/09/15 职场文书
给客户的检讨书
2014/12/21 职场文书
python爬取豆瓣电影TOP250数据
2021/05/23 Python
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL