vue demo1

1.开发工具

试过sublime,现在转战vscode,觉得很顺手,总之啥工具习惯就好。
vscode用着不错的插件,推荐安装。
vue demo1_第1张图片

2.项目目录介绍

vue-cli生成的项目目录有点多,初看有点懵,梳理一下会好很多。

├── index.html                      入口页面
    ├── build                           构建脚本目录
    │   ├── build-server.js                 运行本地构建服务器,可以访问构建后的页面
    │   ├── build.js                        生产环境构建脚本
    │   ├── dev-client.js                   开发服务器热重载脚本,主要用来实现开发阶段的页面自动刷新
    │   ├── dev-server.js                   运行本地开发服务器
    │   ├── utils.js                        构建相关工具方法
    │   ├── webpack.base.conf.js            wabpack基础配置
    │   ├── webpack.dev.conf.js             wabpack开发环境配置
    │   └── webpack.prod.conf.js            wabpack生产环境配置
    ├── config                          项目配置
    │   ├── dev.env.js                      开发环境变量
    │   ├── index.js                        项目配置文件
    │   ├── prod.env.js                     生产环境变量
    │   └── test.env.js                     测试环境变量
    ├── mock                            mock数据目录
    │   └── hello.js
    ├── package.json                    npm包配置文件,里面定义了项目的npm脚本,依赖包等信息
    ├── src                             项目源码目录    
    │   ├── main.js                         入口js文件
    │   ├── app.vue                         根组件
    │   ├── components                      公共组件目录
    │   │   └── title.vue
    │   ├── assets                          资源目录,这里的资源会被wabpack构建
    │   │   └── images
    │   │       └── logo.png
    │   ├── routes                          前端路由
    │   │   └── index.js
    │   ├── store                           应用级数据(state)
    │   │   └── index.js
    │   └── views                           页面目录
    │       ├── hello.vue
    │       └── notfound.vue
    ├── static                          纯静态资源,不会被wabpack构建。
    └── test                            测试文件目录(unit&e2e)
        └── unit                            单元测试
            ├── index.js                        入口脚本
            ├── karma.conf.js                   karma配置文件
            └── specs                           单测case目录
                └── Hello.spec.js

3.前端框架依赖

为了不让sample太苍白,我们引入现在比较流行的MintUI(如果你觉得比较眼熟,那么恭喜你猜对了,就是饿了么前端),我不懂审美啦,但是流行的审美应该不会太丑吧。

首先安装mint-ui

# Vue 1.x
cnpm install mint-ui@1 -S
# Vue 2.0
cnpm install mint-ui -S

然后在main.js中引入全部组件(全局导入后不用再导入)

import Vue from 'vue';
import Mint from 'mint-ui';
Vue.use(Mint);
// 按需引入部分组件
import { Cell, Checklist } from 'minu-ui';
Vue.component(Cell.name, Cell);
Vue.component(Checklist.name, Checklist);

4.搭建项目

首先配置vue router,新建init.vue做为首页。因为是入口,所以注意path配成’/’。同理,新添的组件需要跳转,也在这配置。
vue demo1_第2张图片
这里init.vue主要由三部分组成,mt-header、mt-tab-container、mt-tabbar。

  • mt-header

这里标题绑定了selected变量,是否有点体会到vue的可爱之处。


  • mt-tab-container

  
    
    
跳转至main
跳转至car

其中小知识点总结:
router-link:仔细看上图在router目录下的index.js中,有配置/main的跳转,这里有点像html中的href。
section:

标签是 HTML5 中的新标签,主要定义文档区域,比如章节、头部、底部或者文档的其他区域。
:这里引入了自定义组件,需要script中import进来后在 components中添加。

import MainContent from './MainContent'
 components: {
    'main_content': MainContent
  },
  • mt-tabbar

我们循环data中的tabs数组,取得其中的id与name,并判断tab点击后,tab图片高亮。


  
   {{item.name}}
  

对应的处理代码:


5.运行项目
vue demo1_第3张图片

你可能感兴趣的:(vue前端)