项目地址:http://pan.baidu.com/s/1qYIxCXu

很久没有写博客的原因的是之前一直在解决一个问题,这个问题就是:我们在写组件的时候,官方推荐把css写在组件里面,但是如果我们写在把css写在组件里面的话最终打包的时候,会把组件里面的css打包到页面上,但是这样很不雅观,幸好ExtractTextPlugin提供一个功能可以把vue组件里面的css打包到具体的业务css里面,但是这样会产生一个问题,如果有一个组件我们每一个页面都会用到,那这个组件里面的css最终会被打包到每一个页面的css里面,但是我们希望的是如果这个组件每一个页面都会用到,这个组件里面的css最好可以打包到base.css里面,这样可以很好的利用页面缓存技术,

所以之前一直在解决这个问题,但是一直没有好的解决方案,最终找了一个折衷的方案,就是我们在编写组件的时候,如果这个组件是给单个页面使用的那么他的css可以写在组件里面,如果这个组件是通用的,那么我们会把他的css写在base.css里面。之所以介绍这些,是因为下面我在介绍组件的时候,都是通用组件,而你会看到我的通用组件里面并没有写css,这些css都在base.css里面,你可以根据组件名在base.css搜索到对应组件的css,而且新项目是基于bootstrap3做的,所以某一些特定组件需要您引用bootstrap3.css

下面介绍第一个组件:就是后台管理中心的菜单组件,这个组件主要包含以下功能:1:响应式 2:根据菜单数据来展示菜单(支持多层级)3:附加一个消息列表

使用:下载下来项目后找到component文件夹;其中navigation.vue,menuTree.vue,menuTreeItem.vue,navTree.vue,navTreeItem.vue就是我们的菜单组件了,menuTree.vue,menuTreeItem.vue表示左侧菜单,navTree.vue,navTreeItem.vue表示导航栏选项。我们在使用的时候直接引入navigation.vue就好了,然后在页面里使用<navigation></navigation>就可以显示,因为这是一个demo所以数据暂时是写死的,你可以在menuTree.vue里面找到配置菜单数据的选项,你可以在navTree.vue里面找到配置导航栏选项的数据,最后运行的时候不要忘记引入bootstrap的css和字体,以及base.css对应的部分

新项目的vue组件的更多相关文章

  1. 新项目的CQRS设计

    刚换了个工作,闲话不说了.前两天开始一个新项目,大概是一个任务管理系统,由使用者来选取任务,执行任务,反馈完成,我大概做了些设计,本来是打算看能不能在新公司铺垫一下DDD,不过后来这块功能没分到我这, ...

  2. java新项目的eclipse统一配置记录

    1.new java file的模版 /** * @Title:${file_name} * @Copyright: Copyright (c) 2016 * @Description: * < ...

  3. 做一个创建cocos2d-x新项目的shell脚本

    1. 进入console目录 cd /Users/apple/Documents/MyArchitecture/Cocos2d-x/Framework/cocos2d-x-3.4/tools/coco ...

  4. Laravel 项目中编写第一个 Vue 组件

    和 CSS 框架一样,Laravel 不强制你使用什么 JavaScript 客户端框架,但是开箱对 Vue.js 提供了良好的支持,如果你更熟悉 React 的话,也可以将默认的脚手架代码替换成 R ...

  5. 使用 vue-cli-service inspect 来查看一个 Vue CLI 3 项目的 webpack 配置信息(包括:development、production)

    使用 vue-cli-service inspect 来查看一个 Vue CLI 3 项目的 webpack 配置信息(包括:development.production) --mode 指定环境模式 ...

  6. webstorm如何调试vue项目的js

    webstorm如何调试vue项目的js webstormvuewebstorm调试jsjs 1.编辑调试配置,新建JavaScript调试配置,并设置要访问的url地址,如下图所示: 在URL处填写 ...

  7. Vue组件v-if新渲染的组件不更新

    Vue组件v-if新渲染的组件不更新:可能原因是Vue识别到是相似组件(高度相似甚至相同)不会更新元素.给原来的组件和新组件分别给不同的key值让Vue识别为不同的组件.

  8. day 83 Vue学习三之vue组件

    本节目录 一 什么是组件 二 v-model双向数据绑定 三 组件基础 四 父子组件传值 五 平行组件传值 六 xxx 七 xxx 八 xxx 一 什么是组件 首先给大家介绍一下组件(componen ...

  9. Vue 组件设计

    Vue 组件设计 Vue 作为 MVVM 框架一员,不管是写业务还是基础服务,都少不了书写组件.本文总结一下书写业务组件的一些心得. 为什么要写组件? 我们知道,只要是组件,就需要在引用的时候与 vi ...

随机推荐

  1. python ---16 初识面向对象

    面向对象 一 .面向对象和面向过程比较 ①面向过程:一切以事物的发展流程为核心    优点:负责的问题流程化,编写相对简单 缺点:可扩展性差 ②面向对象:一切以对象为中心. 一切皆为对象. 具体的某一 ...

  2. SpringBoot2.0之整合Apollo

    Spring Boot客户端对接阿波罗服务器端 核心源码都在这个压缩包里面 封装好了环境 运行shell脚本就ok了 下面进入到本地maven仓库: 远程仓库apollo的jar包 只能打包到本地或者 ...

  3. how do I get the difference between two R named lists?

    aa<- list(a=1, b="two", c=list(3, "four")) bb <- list(a=1, c=list(3, " ...

  4. Centos 安装R

    1 下载R源代码 原码下载地址https://cloud.r-project.org/https://cloud.r-project.org/src/base/R-3/R-3.4.2.tar.gz 2 ...

  5. 给Ubuntu添加清华的软件源

    找到 sources.list 文件 cd /etc/apt/ 编辑 vim sources.list 在最后面加上下面这几条语句 # 默认注释了源码镜像以提高 apt update 速度,如有需要可 ...

  6. ZooKeeper分布式过程协同技术详解2——了解ZooKeeper

    这个服务如何实现这些协作方面的原语? ZooKeeper基础

  7. Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'zoneId' in 'class java.lang.String'

    本文为博主原创,未经允许不得而转载: 异常展示: dao层定义的接口为: public int getClientTotal(); 在mybatis中的sql为: <select id=&quo ...

  8. 原生JS取代一些JQuery方法的简单实现

    原生JS取代一些JQuery方法的简单实现 下面小编就为大家带来一篇原生JS取代一些JQuery方法的简单实现.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧   1.选 ...

  9. new和malloc的用法和区别

    从以下几个方面总结下new和malloc的区别: 参考博客: https://blog.csdn.net/nie19940803/article/details/76358673 https://bl ...

  10. _battleground

    战场控制表 bgName 战场名字 bgTypeId 战场类型索引,请勿修改 cf 0 - 关闭混排:1 - 开启混排 limitHP 进入战场的最低血量,血量低于该值无法排此战场 maxRes 阿拉 ...