博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从零开始搭建自己的VueJS2.0+ElementUI单页面网站(二、编写导航页)
阅读量:5808 次
发布时间:2019-06-18

本文共 3568 字,大约阅读时间需要 11 分钟。

前言

在一文中我们已经配置好了开发所需要的各种环境,在这一篇博文中我们正式进入开发。对于一个单页面应用来说,导航页是至关重要的一个页面,所有的组件都会在这个页面里进行显示。接下来我们就开始进行导航页的开发。

正文

创建导航页组件

我们在src目录下新建一个文件夹,名为components,今后我们的组件都会放在这个文件夹中。在components目录下新建一个Navi目录,在Navi目录中新建一个名为Navi.vue的组件。至此我们的目录应该是如下图所示:

这里写图片描述

然后我们修改main.js文件,修改后的文件如下

import Vue from 'vue'import ElementUI from 'element-ui'import 'element-ui/lib/theme-default/index.css'import Navi from './components/Navi/Navi.vue'Vue.use(ElementUI)new Vue({  el: '#app',  render: h => h(Navi)})

我们可以看到render函数的参数由之前的App变为我们新创建的Navi组件。从此我们的程序入口中显示的就是这个Navi.vue里面的内容。之前默认生成的App.vue文件已经无用,我们可以删掉它。

接下来我们对导航页进行简单的布局,我们先来看一下布局的代码
Navi.vue

我们可以看一下主页现在的样子

这里写图片描述

这里面用到了一些ElementUI的组件,比如左侧的菜单栏,和右侧显示着“导航一”的面包屑组件等。使用el-row和el-col的作用是对组件进行响应式处理。这些组件的详细使用方法都可以在中找到。

配置路由信息

创建好了首页导航栏之后,我们需要对路由信息进行配置,vue-router是vuejs单页面应用的关键。在配置路由信息之前,我们先把需要跳转到的页面创建出来。我们首先在components目录下创建三个新组件:page1、page2和page3,分别在里面加入一行字,例如page1

page2和page3分别写“这是第二个页面”、“这是第三个页面”。

这三个页面就代表了我们写的三个要跳转的页面。接下来我们使用

npm install vue-router --save

安装vue-router。

安装完成后,我们在src目录下创建一个新目录,名字为router,然后在router文件夹下建立一个javascript文件,名字为index.js,创建完毕后现在的目录结构为

这里写图片描述

这个router目录下的index.js就是vue-router的配置文件。我们在这个文件中加入如下代码:

import Vue from 'vue'import VueRouter from 'vue-router'import Page1 from '../components/Page1.vue'import Page2 from '../components/Page2.vue'import Page3 from '../components/Page3.vue'Vue.use(VueRouter)const router = new VueRouter({    routes:[{        path: '/Page1', component: Page1    },{        path: '/Page2', component: Page2    },{        path:'/Page3', component: Page3    }]})export default router;

这里就是对跳转路径的配置。然后修改main.js

import Vue from 'vue'import ElementUI from 'element-ui'import 'element-ui/lib/theme-default/index.css'import Navi from './components/Navi/Navi.vue'import router from './router/index'Vue.use(ElementUI)new Vue({  el: '#app',  router,  render: h => h(Navi)})

这样我们的router就可以全局使用了。

接下来我们修改Navi.vue,
修改后的文件如下:

注意文件中多了一个

这个router-view就是用来显示跳转的页面,也就是page1,page2和page3。我们给左侧的菜单栏添加了一个响应,在响应函数中作出了路由跳转的处理。this.$router.push('/Page1');这句话的意思就是将当前要跳转的页面push到router的数组中。这里使用push而不是直接给数组赋值的原因是希望用户点击浏览器中的后退和前进按钮时可以回到之前操作的页面。修改完成后我们可以看一下效果,注意浏览器地址栏的变化:

这里写图片描述

这里写图片描述

这里写图片描述

可以看到我们在点击左侧导航栏里面不同的条目时,浏览器地址栏里显示的地址作出了改变,右侧显示的文字也分别对应三个page组件。至此,一个可以进行路由跳转的主页就完成了。

结束语

在这篇文章中我们构建了自己的网站导航页,可以看出相对来说还是比较简单。在下一篇博客中我将会介绍各个跳转到的component的详细写法,以及组件化编程中各个组件的通信方法。

你可能感兴趣的文章
修改上一篇文章的node.js代码,支持默认页及支持中文
查看>>
Php实现版本比较接口
查看>>
删除设备和驱动器中软件图标
查看>>
第四章 TCP粘包/拆包问题的解决之道---4.1---
查看>>
html语言
查看>>
从源码看集合ArrayList
查看>>
spring-boot支持websocket
查看>>
菜鸟笔记(一) - Java常见的乱码问题
查看>>
我理想中的前端工作流
查看>>
记一次Git异常操作:将多个repository合并到同一repository的同一分支
查看>>
CodeIgniter 3.0 新手捣鼓源码(一) base_url()
查看>>
Chrome 广告屏蔽功能不影响浏览器性能
查看>>
vSphere 6将于2月2日全球同步发表
查看>>
Android状态栏实现沉浸式模式
查看>>
让你的APP实现即时聊天功能
查看>>
iOS 绝对路径和相对路径
查看>>
使用Openfiler搭建ISCSI网络存储
查看>>
应用新安全组 - 每天5分钟玩转 OpenStack(116)
查看>>
生产制造追溯系统
查看>>
4.3. 键盘设置
查看>>