vue demo1

1.开发工具

试过sublime,现在转战vscode,觉得很顺手,总之啥工具习惯就好。
vscode用着不错的插件,推荐安装。
在这里插入图片描述

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配成’/’。同理,新添的组件需要跳转,也在这配置。
在这里插入图片描述
这里init.vue主要由三部分组成,mt-header、mt-tab-container、mt-tabbar。

  • mt-header

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

<mt-header  fixed  :title="selected">
  • mt-tab-container
<mt-tab-container v-model="selected"><mt-tab-container-item id="首页"><router-link to="/main" tag="li"><section >跳转至main</section></router-link><main_content></main_content></mt-tab-container-item><mt-tab-container-item id="消息"><mt-cell title="content1" /><mt-cell title="content2" /><mt-cell title="content3" /><mt-cell title="content4" /><mt-cell title="content5" /></mt-tab-container-item><mt-tab-container-item  id="管车"><section >跳转至car</section></mt-tab-container-item><mt-tab-container-item  id="我的"><main_content></main_content></mt-tab-container-item>
</mt-tab-container>

其中小知识点总结:
router-link:仔细看上图在router目录下的index.js中,有配置/main的跳转,这里有点像html中的href。
section:<section> 标签是 HTML5 中的新标签,主要定义文档区域,比如章节、头部、底部或者文档的其他区域。
<main_content></main_content>:这里引入了自定义组件,需要script中import进来后在 components中添加。

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

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

<mt-tabbar v-model="selected" ><mt-tab-item v-for="(item, index) in tabs" :key="index" :id="item.id"><img slot="icon" :src="selected == item.id ? item.tab_img_active : item.tab_img"> {{item.name}}</mt-tab-item>
</mt-tabbar>

对应的处理代码:

<script>
import Vue from 'vue'
import MainContent from './MainContent'
import { Header, Tabbar, TabItem, TabContainer, TabContainerItem } from 'mint-ui'
Vue.component(TabContainer.name, TabContainer)
Vue.component(TabContainerItem.name, TabContainerItem)
Vue.component(Tabbar.name, Tabbar)
Vue.component(TabItem.name, TabItem)
Vue.component(Header.name, Header)
export default {name: 'init',data () {return {selected: '首页',msg: 'Welcome!!',tabs: [{id: '首页',name: '首页',active: 'false',tab_img: require('../assets/nav_home.png'),tab_img_active: require('../assets/nav_home_active.png')}, {id: '消息',name: '消息',active: 'false',tab_img: require('../assets/nav_cxl.png'),tab_img_active: require('../assets/nav_cxl_now.png')}, {id: '管车',name: '管车',active: 'false',tab_img: require('../assets/nav_car.png'),tab_img_active: require('../assets/nav_car_now.png')}, {id: '我的',name: '我的',active: 'false',tab_img: require('../assets/nav_my.png'),tab_img_active: require('../assets/nav_my_now.png')}]}},components: {'main_content': MainContent},computed: {},methods: {}
}
</script>

5.运行项目
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql日志介绍

1. 错误日志 错误日志记录的事件&#xff1a; a. 服务器启动关闭过程中的信息 b. 服务器运行过程中的错误信息 c. 事件调试器运行一个事件时间生的信息 d. 在从服务器上启动从服务器进程时产生的信息 2. 查询日志 查询日志记录查询语句与启动时间&#xff0c;建议不是在调试环境…

Mac OS X终端的常用操作命令(UNIX指令)

用了十多年windows&#xff0c;终于换了个高配Mac,俗话说 无论前端还是后端最终还是走向了linux&#xff0c;无论是换了多少台PC最终都会走向Mac。不学习命令行用什么Mac? 干就完了~ pwd 显示现在的文件路径 &#xff08;print working directory&#xff09; ls 显示…

索引( index )

索引在庞大的数据库上最能体现出作用&#xff0c;所谓索引就是根据需求将指定的列提取出来做索引表&#xff0c;可以显著提高在查找数据方面的速度。 在索引的前提下还可以指定索引值是否唯一&#xff0c;索引值是单列或是多列索引。 根据索引类型&#xff0c;索引分为&#xf…

dependencies 和 devDependencies 区别

当我们项目需要下载一个模块的时候&#xff0c;我们安装npm包&#xff08;在项目目录下面npm install module_name&#xff09;的时候&#xff0c;很多时候我们会在后面加上–save-dev 或 –save。这两个参数代表什么呢&#xff1f; 初识 相信很多人都会回答&#xff1a; np…

CentOS下防御或减轻DDoS攻击方法(转)

查看攻击IP 首先使用以下代码&#xff0c;找出攻击者IP netstat -ntu | awk {print $5} | cut -d: -f1 | sort | uniq -c | sort -n 将会得出类似如下的结果&#xff1a; 1 114.226.9.132 1 174.129.237.157 1 58.60.118.142 1 Address 1 servers) 2 118.26.131.78 3 123.125.1…

iTerm2 快捷键

Ctrl a&#xff1a;将光标移动到命令行首 Ctrl e&#xff1a;将光标移动到命令行尾 Ctrl w&#xff1a;删除光标前的一个单词 Ctrl u&#xff1a;删除所有内容 Ctrl y&#xff1a;粘贴上次删除的内容 Ctrl r&#xff1a;搜索历史命令删除光标之前的单词&#xff1a;ctrl …

vscode - 添加背景图片

首先&#xff0c;CtrlShiftP安装backround &#xff0c; 而后重启vscode会有默认的背景图片 修改背景图&#xff0c;可自定义三张 具体请看gif图 最开始时&#xff0c;发现png根本不是全透明&#xff0c;用ps处理了一下&#xff08;下列所有操作均字母组合&#xff09; 1.1 Ctr…

架构设计杂谈004——架构师

什么是架构设师 架构师是&#xff1a;负责系统架构设计的人、团队或组织 架构师主要干什么 ●架构师是技术领导&#xff0c;领导并负责架构设计&#xff0c;负责做决策 ●架构师可以是团队或组织&#xff0c;这个时候通常会有首席架构师 ●架构师必须掌握足够的技术知识 ●架构…

学习JS基本数据类型与对象的valueOf方法

https://blog.csdn.net/licheng11403080324/article/details/60128090 https://yq.aliyun.com/articles/399499 转载于:https://www.cnblogs.com/smzd/p/9548530.html

security和oauth2.0的整合

security和oauth2.0的整合 之前已经介绍过security的相关的介绍,现在所需要做的就是security和oauth2.0的整合,在原有的基础上我们加上一些相关的代码;代码实现如下: pom.xml: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http:…

关于Vue.use()详解

问题 相信很多人在用Vue使用别人的组件时&#xff0c;会用到 Vue.use() 。例如&#xff1a;Vue.use(VueRouter)、Vue.use(MintUI)。但是用 axios时&#xff0c;就不需要用 Vue.use(axios)&#xff0c;就能直接使用。那这是为什么呐&#xff1f; 答案 因为 axios 没有 install。…

百度TTS的来由

#### https://home-assistant.io/components/tts.baidu/#### https://github.com/charleyzhu/HomeAssistant_Components#### 当前使用自定义组件 https://bbs.hassbian.com/thread-1152-1-1.html#### 2018-3-15添加百度云语音识别 - platform: baidu language: zh app_i…

eslint 禁用命令

/* eslint-disable */ ESLint 在校验的时候就会跳过后面的代码还可以在注释后加入详细规则&#xff0c;这样就能避开指定的校验规则了/* eslint-disable no-new */常用&#xff1a; rules: {"comma-dangle": ["error", "never"], //是否允许对象…

分布式工具的一次小升级⏫

前言 之前在做 秒杀架构实践 时有提到对 distributed-redis-tool 的一次小升级&#xff0c;但是没有细说。 其实主要原因是&#xff1a; 秒杀时我做压测&#xff1a;由于集成了这个限流组件&#xff0c;并发又比较大&#xff0c;所以导致连接、断开 Redis 非常频繁。 最终导致获…

浅谈vue $mount()

Vue 的$mount()为手动挂载&#xff0c;在项目中可用于延时挂载&#xff08;例如在挂载之前要进行一些其他操作、判断等&#xff09;&#xff0c;之后要手动挂载上。new Vue时&#xff0c;el和$mount并没有本质上的不同。 具体见代码&#xff1a; 顺便附上vue渲染机制流程图&a…

小三角

{border-color: transparent;border-right-color: #e5e5e5;border-width: 7px;margin-top: -7px;right: 100%;top: 20px;border: solid transparent;content: " ";height: 0;width: 0;position: absolute;pointer-events: none; }转载于:https://www.cnblogs.com/smz…

Laravel日志查看器 -- log-viewer扩展

1.修改laravel配置文件. config\app.php log>daily 2.在项目目录中composer命令安装扩展&#xff1a;composer require arcanedev/log-viewer 3.安装成功后&#xff0c;需要在config\app.php 的providers阵列中注册服务 Arcanedev\LogViewer\LogViewerServiceProvider::clas…

论一个程序员的自我修养-从一张图片说起

故事起源 本来今天想写.NET Core实战之CMS系统第十五篇文章的。哈&#xff0c;奈何今天在新生命人脉群里面看到石头哥分享的一张图片&#xff0c;然后大家就议论了起来&#xff0c;不过我看的很懵逼&#xff0c;这图什么意思啊&#xff1f;当一个朋友讲述了这个图片背后的故事的…

vue实例属性之el,template,render

一、el&#xff0c;template&#xff0c;render属性优先性 当Vue选项对象中有render渲染函数时&#xff0c;Vue构造函数将直接使用渲染函数渲染DOM树&#xff0c;当选项对象中没有render渲染函数时&#xff0c;Vue构造函数首先通过将template模板编译生成渲染函数&#xff0c;然…

mysql8的坑

plugin caching_sha2_password could not be loaded 我在mac上用Sequel Pro连数据库的时候&#xff0c;会报出以上错误&#xff0c;这是应为8.0.11把身份认证插件改成了 caching_sha2_password &#xff0c;而客户端没法使用此插件。 这是我们只要用命令行进去mysql&#xff0c…