vue2.0 仿手机新闻站(二)项目结构搭建 及 路由配置
1.项目结构
$ vue init webpack-simple news
$ npm install vuex vue-router axios style-loader css-loader -D
2.main.js
import Vue from 'vue'
import App from './App.vue'
// 引入 路由
import VueRouter from 'vue-router'
// 引入 路由配置文件
import routes from './router.config' Vue.use(VueRouter); // 创建 路由
const router = new VueRouter({
mode:'history', // 删除 url 中的'#'号
routes // routes 等价于 routes:routes
}); require('./assets/css/base.css'); // 全局引入 new Vue({
el: '#app',
router,
render: h => h(App)
})
3.入口文件 App.vue
<template>
<div id="app">
<NavView></NavView>
<router-view></router-view>
<FooterView></FooterView>
</div>
</template> <script>
/**
* 引入 组件
*/
// 头部导航
import NavView from './components/Nav.vue'
// 中间内容
import HomeView from './components/Home.vue'
// 底部选项卡
import FooterView from './components/Footer.vue' export default {
components:{
NavView,
FooterView
}
}
</script> <style lang="scss">
@import './assets/css/index.css';
</style>
4.组件部分 components
(1)Nav.vue
<!-- 顶部选项卡 -->
<template>
<div id="nav">
<div class="nav">
<ul>
<router-link to="/home" tag="li" active-class="active">
<a href="javascript:;">首页</a>
</router-link>
<router-link to="/follow" tag="li" active-class="active">
<a href="javascript:;">关注</a>
</router-link>
<router-link to="/column" tag="li" active-class="active">
<a href="javascript:;">栏目</a>
</router-link>
</ul>
</div>
</div>
</template>
(2)Footer.vue
<!-- 底部选项卡 -->
<template>
<div class="foot-btn">
<ul>
<!--首页-->
<router-link class="home" to="/home" tag="li">
<a href="javascript:;"></a>
</router-link>
<!--关注-->
<router-link class="write" to="/follow" tag="li">
<a href="javascript:;"></a>
</router-link>
<!--我的-->
<router-link class="my" to="/user-info" tag="li">
<a href="javascript:;"></a>
</router-link>
</ul>
</div>
</template>
(3)Home.vue 首页
<!-- 首页 -->
<template>
<div id="home">
<div class="content mt30">首页部分</div>
</div>
</template> <script>
export default{
}
</script> <style scoped>
.mt30{
margin-top: 30px;
}
</style>
(4)Follow.vue 关注页
<!-- 关注页 -->
<template>
<div id="follow">
<div class="content mt30">关注部分</div>
</div>
</template> <style scoped>
.mt30{
margin-top: 30px;
}
</style>
(5)Column.vue 栏目页
<!-- 栏目页 -->
<template>
<div id="column">
<div class="content mt30">栏目部分</div>
</div>
</template> <style scoped>
.mt30{
margin-top: 30px;
}
</style>
(6)UserInfo.vue 我的页
<!-- 我的 -->
<template>
<div class="content">
<div class="header">
<h2><img src="../assets/img/headimg.png" alt=""/></h2>
<div class="user-box">
<router-link to="/user-login">登录</router-link>
<router-link to="/user-reg">注册</router-link>
</div>
<ul class="clear">
<li>
<span>0</span>
<p>关注</p>
</li>
<li>
<span>0</span>
<p class="end">粉丝</p>
</li>
</ul>
</div>
<div class="docList">
<ul>
<li class="gk-text">
<i></i>
<p>公开博文</p>
<b></b>
<span>0</span>
</li>
<li class="mm-text">
<i></i>
<p>秘密博文</p>
<b></b>
<span>0</span>
</li>
<li class="cg-text">
<i></i>
<p>草稿箱</p>
<b></b>
<span>0</span>
</li>
<li class="sc-text">
<i></i>
<p>收藏夹</p>
<b></b>
<span>0</span>
</li>
<li class="my_cz">
<i></i>
<p>收藏夹</p>
</li>
</ul>
</div>
</div>
</template> <style scoped>
@import '../assets/css/mydoc.css';
</style>
5.路由配置文件 router.config.js
/**
* 配置 路由
*/
// 导入组件
import Home from './components/Home.vue'
import Follow from './components/Follow.vue'
import Column from './components/Column.vue'
import UserInfo from './components/UserInfo.vue' // 导出路由数组
export default [
{ // 首页
path:'/home',
component:Home
},
{ // 关注页
path:'/follow',
component:Follow
},
{ // 栏目页
path:'/column',
component:Column
},
{ // 我的页
path:'/user-info',
component:UserInfo
},
{ // 配置默认路由
path:'/',
redirect:'/home' // 路由重定向
},
{
path:'*',
redirect:'/home' // 路由重定向
}
]
6.效果图
vue2.0 仿手机新闻站(二)项目结构搭建 及 路由配置的更多相关文章
- vue2.0 仿手机新闻站(一)项目开发流程
vue仿手机新闻站: 1.拿到静态页面,直接用vue边布局,边写 2.假数据 没有用任何UI组件,切图完成 做项目基本流程: 1.规划组件结构 Nav.vue Header.vue Home.vue ...
- vue2.0 仿手机新闻站(七)过滤器、动画效果
1.全局过滤器 (1)normalTime.js 自定义 将 时间戳 转换成 日期格式 过滤器 /** * 将 时间戳 转换成 日期格式 */ export const normalTime = ( ...
- vue2.0 仿手机新闻站(六)详情页制作
1.结构 2.配置详情页路由 router.config.js /** * 配置 路由 */ // 导入组件 import Home from './components/Home.vue' impo ...
- vue2.0 仿手机新闻站(五)全局的 loading 组件
1.组件结构 index.js const LoadingComponent = require('./Loading.vue') const loading = { install: functio ...
- vue2.0 仿手机新闻站(四)axios
1.axios的配置 main.js import Vue from 'vue' import App from './App.vue' // 引入 路由 import VueRouter from ...
- vue2.0 仿手机新闻站(三)通过 vuex 进行状态管理
1.创建 store 结构 2.main.js 引入 vuex 3. App.vue 组件使用 vuex <template> <div id="app"&g ...
- 项目vue2.0仿外卖APP(二)
vue-cli开启vue.js项目 github地址:https://github.com/vuejs/vue-cli Vue.js开发利器vue-cli,是vue的脚手架工具. 在工地上,脚手架是工 ...
- 本地运行github上的vue2.0仿饿了么webapp项目
在vue刚刚开始流行的时候,大多数人学习大概都见到过这样的一个项目吧,可以作为学习此框架的一个模板了 github源码地址:https://github.com/RegToss/Vue-SPA 课程教 ...
- Vue2.0仿饿了么webapp单页面应用
Vue2.0仿饿了么webapp单页面应用 声明: 代码源于 黄轶老师在慕课网上的教学视频,我自己用vue2.0重写了该项目,喜欢的同学可以去支持老师的课程:http://coding.imooc.c ...
随机推荐
- Weixin API -- 微信js接口
今天在开发项目的时候,由于需要在微信中实现分享功能(分享成功后实现页面跳转并记录).问度娘,找了很久,终于找到一个不错的方法.收藏起来以后备用,也希望对大家有所帮助! 在github的地址:https ...
- web自动化测试:watir+minitest(二)
环境搭建: 我已经安装了一台全新的win7虚拟机.下面将开始搭建watir环境. 安装包清单. 安装ruby.执行rubyinstaller-2.2.4-x64.exe 选择语言: 勾选添加到环境变量 ...
- redhat linux 7.4关闭透明大页
每一步: 在GRUB_CMDLINE_LINUX加入选项 transparent_hugepage=never echo 'GRUB_CMDLINE_LINUX="transparent_h ...
- [HNOI2004][bzoj1212] L语言 [Trie+dp]
题面 传送门 思路 无后效性 显然,不管某个前缀的理解方式是怎么样的,如果它能被理解,那么前面的决策对于后面的决策而言都是等价的 因此这题可以DP DP方程 令$dp[i]$表示前缀i是否能被理解 那 ...
- 觉醒力量 (hidpower)
觉醒力量 (hidpower) 题目描述 [题目背景] 从前有一款非常火的游戏被人们称为pokemon,从最初的红绿蓝黄版直到现在的XY版,都受到世界各地小朋友和大朋友们的喜爱. [题意描述] 作为一 ...
- mac 安装 java 配置
在mac电脑上开发java,需要配置java环境变量,mac不同于windows系统.不过呢,配置流程也相对简单. 安装jdk 首先查看,电脑上是否装了jdk. 在终端输入 java -versio ...
- pat 甲级 1034. Head of a Gang (30)
1034. Head of a Gang (30) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue One wa ...
- pat 甲级 1010. Radix (25)
1010. Radix (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given a pair of ...
- Zookeeper如何从官网下载和安装
打开百度搜索,输入Zookeeper关键词,一般第一条搜索记录就是apache官网下载的地址 进入apache官网,由于是国外的网站,里面内容都是英文的,可以大概看下Zookeeper的描述和介绍,在 ...
- Caps_Locl exchang Esc
vim ~/.Xmodmap 1 remove Lock = Caps_Lock 2 keysym Escape = ...