全栈的自我修养: 为我们的项目添加首页

You can never replace anyone. What is lost is lost.

每个人都是无可替代的,失去了便是失去了。

前言

上篇文章使用 vue ui 创建了项目 kola, 开源代码如下:

在这片文章中,我们继续开始,先添加个项目的首页以及登录页面,暂时不与后端交互

完成后效果图

公共首页

作为一个偏后端管理项目,其实做不做公共首页都是可以的,毕竟有个 登录 以及登录后的 后台功能 页就可以了,这里做个公共首页 主要为了介绍下项目

一般首页做的都比较高大上,但后台管理系统风格一般都比较简单

  1. 上下结构

    Header 一般放项目或者企业logo, 常见的还会有 首页功能关于 等常见操作,

    Main 会加一些高大上的宣传图片、文案、数据呀

  2. 上中下结构

    Header 一般放项目或者企业logo, 常见的还会有 首页功能关于 等常见操作,

    Main 会加一些高大上的宣传图片、文案、数据呀

    Footer 会写一些版权信息呀、服务条款、公司地址、还有一些便捷操作的网站地图

  3. 其他

    剩下的就是各种花里胡哨的首页了

作为一个偏后端的管理项目,我们就是用第二种方案吧!

关于首页可以找专门的前端小姐姐和小哥哥来设计一下,也可以直接去那种前端模板之家类似网站找个模板,修改一下

公共首页实现

因为是用 element ui, 在其提供的容器布局中,已经提供了对应的解决方案,期中第二种为

<el-container>
<el-header>Header</el-header>
<el-main>Main</el-main>
<el-footer>Footer</el-footer>
</el-container>

0. 先启动我们的项目

运行下 yarn serve, 这样在修改的时候就可以保持热部署了,我们可以实时的看到修改结果,启动后会提示地址,直接在浏览器打开就能看到 Vue 默认配置的首页了

1. 修改title

修改文件 public/index.html

在这里我们将首页 title 和 样式进行修改,同时删除 <noscript> 毕竟自己用,很容易搞定浏览器兼容的

并在该文件中加入 body,html{ height:100%;margin: 0;} 样式

2. 修改首页

修改文件 src/App.vue

直接将原内容改为

<template>
<div id="app">
<router-view/>
</div>
</template> <script>
export default {
name: 'app'
}
</script> <style>
#app {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background-color: #F3F5F8;
height: 100%;
padding: 0;
}
</style>

3. 修改 Home 组件

在我们查看路由配置的时候,可以看到

import Home from '../views/Home.vue'

const routes = [{
path: '/',
name: 'Home',
component: Home
}
]

其中 '/' 将匹配到 Home 组件, 又因为我们上面将 App.vue 中内容已经全部清理掉,则首页展示的内容均来自 Home,这里我们开始修改 src/views/Home.vue 文件

  1. 第一步删除其中 HelloWorld 的使用,同时一并删除那个文件,并把 img 也删除
<template>
<div class="home">
</div>
</template> <script>
export default {
name: 'Home'
}
</script>

加入布局组件

<template>
<div class="home">
<el-container>
<el-header>
<el-row>
<el-col :span="8">
<div class='title'>Kola</div>
</el-col>
<el-col :span="16" style="text-align: right; padding-right: 30px;">
<el-button plain size="medium">登录</el-button>
</el-col>
</el-row></el-header>
<el-main>这里放一些高大上的描述和图片吧</el-main>
<el-footer>&copy; 2020 双鬼带单</el-footer>
</el-container>
</div>
</template> <style scope="this api replaced by slot-scope in 2.5.0+">
.home {
height: 100%;
} .title {
background-color: #1ec198;
width: 150px;
padding-left: 30px;
} .el-container {
height: 100%;
} .el-header {
height: 60px;
background-color: white;
line-height: 60px;
padding: 0!important;
} .el-header > span,
.el-header .el-dropdown {
font-size: 18px;
} .el-footer {
background-color: #252d36;
color: #ffc852;
text-align: center;
line-height: 60px;
} .el-main {
color: #333;
text-align: center;
}
</style>

git

参考

原来写个Vue 首页就这么简单的更多相关文章

  1. vue.js+webpack在一个简单实例中的使用过程demo

    这里主要记录vue.js+webpack在一个简单实例中的使用过程 说明:本次搭建基于Win 7平台 Node.js 安装官网提供了支持多种平台的的LTS版本下载,我们根据需要来进行下载安装.对于Wi ...

  2. [转] Vue原理解析——自己写个Vue

    一.Vue对比其他框架原理 Vue相对于React,Angular更加综合一点.AngularJS则使用了“脏值检测”. React则采用避免直接操作DOM的虚拟dom树.而Vue则采用的是 Obje ...

  3. Vue原理解析——自己写个Vue

    Vue由于其高效的性能和灵活入门简单.轻量的特点下变得火热.在当今前端越来越普遍的使用,今天来剖析一下Vue的深入响应式原理. tips:转自我的博客唐益达博客,此为原创.转载请注明出处,原文链接 一 ...

  4. 总结Vue第一天:简单介绍、基本常用知识、辅助函数

    总结Vue第一天:简单介绍.基本常用知识.辅助函数 中文官网:https://cn.vuejs.org/v2/guide/syntax.html 遇到不熟悉的可以先看一下官网,然后再看一下一些别人写的 ...

  5. 写一个ajax程序就是如此简单

    写一个ajax程序就是如此简单 ajax介绍: 1:AJAX全称为Asynchronous JavaScript and XML(异步JavaScript和XML),指一种创建交互式网页应用的网页开发 ...

  6. 用Qt写软件系列三:一个简单的系统工具(上)

    导言 继上篇<用Qt写软件系列二:QIECookieViewer>之后,有一段时间没有更新博客了.这次要写的是一个简单的系统工具,需求来自一个内部项目.功能其实很简单,就是查看当前当前系统 ...

  7. 写一个vue组件

    写一个vue组件 我下面写的是以.vue结尾的单文件组件的写法,是基于webpack构建的项目.如果还不知道怎么用webpack构建一个vue的工程的,可以移步到vue-cli. 一个完整的vue组件 ...

  8. vue双向数据绑定的简单实现

    vue双向数据绑定的简单实现 参考教程:链接 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  9. 一个基于 easyui, vue 和 maptalks 的简单地图应用

    一个基于 easyui, vue 和 maptalks 的简单地图应用 做了一个小应用,结合 easyui , vue 和 maptalks 的简单的地图应用.可以用来画图,什么的. 地址

随机推荐

  1. Howdoo欢迎Mitel成为内容发布支持者

    原文链接:https://medium.com/howdoo/howdoo-welcomes-mitel-as-a-launch-supporter-4c40027d4dd1 “Mitel很高兴能够成 ...

  2. 论TEMP临时变量与VAR静态变量

    TEMP临时变量:顾名思义,这种变量类型是临时的,没有固定的存放数据的内存空间.每次扫描结束后则清零,在下个扫描周期开始时,这个变量的值都是不确定的,一般为0.使用临时变量需要遵循一个原则:先赋值再使 ...

  3. Python-字符串内容检测

    str.isnumeric():检测字符串是否只由数字组成 str.isalpha():检测字符串是否只由字母组成 str.islower():检测字符串中所有的字母是否都为小写 str.isuppe ...

  4. python 装饰器(四):装饰器基础(三)叠放装饰器,参数化装饰器

    叠放装饰器 示例 7-19 演示了叠放装饰器的方式:@lru_cache 应用到 @clock 装饰fibonacci 得到的结果上.在示例 7-21 中,模块中最后一个函数应用了两个 @htmliz ...

  5. Python函数05/内置函数/闭包

    Python函数05/内置函数/闭包 目录 Python函数05/内置函数/闭包 内容大纲 1.内置函数(二) 2.匿名函数及内置函数(重要) 3.闭包 4.今日总结 5.今日练习 内容大纲 1.内置 ...

  6. C#-CLR note - 26线程

    开篇 async/wait的使用 static async Task Main(string[] args) { Console.WriteLine("start-- "); va ...

  7. 基于Python的HTTP接口自动化测试框架实现

    今天我们来讲一下基于Python的HTTP接口自动化测试框架的实现,范例如下: 一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 e ...

  8. C++11多线程编程--线程创建

    参考资料 adam1q84 我是一只C++小小鸟 Thread support library Book:<C++ Concurrency in Action> 线程的创建 线程的创建有多 ...

  9. P5836 [USACO19DEC]Milk Visits S 从并查集到LCA(最近公共祖先) Tarjan算法 (初级)

    为什么以它为例,因为这个最水,LCA唯一黄题. 首先做两道并查集的练习(估计已经忘光了).简单来说并查集就是认爸爸找爸爸的算法.先根据线索理认爸爸,然后查询阶段如果发现他们的爸爸相同,那就是联通一家的 ...

  10. C++语法小记---string和int的相互转换

    string和int的相互转换 string转int istringstream is(""); //构造输入字符串流,流的内容初始化为“12”的字符串 int i; is > ...