项目地址: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. codevs1017乘积最大

    codevs1017 乘积最大 题目描述 Description 今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年.在华罗庚先生的家乡江苏金坛,组织了一场 ...

  2. 使用kubeadm 安装 kubernetes 1.12.0

    目录 简介: 架构说明: 系统配置: 1.1 关闭防火墙 1.2 禁用SELinux 1.3 关闭系统Swap 1.4 安装docker 使用kubeadm部署Kubernetes: 2.1 安装ku ...

  3. <OFFER15> 15_NumberOf1InBinary

    // 面试题15:二进制中1的个数 // 题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数.例如 // 把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2. #inc ...

  4. Configuring Logstash

    Configuring Logstash To configure Logstash, you create a config file that specifies which plugins yo ...

  5. R语言 union、setdiff、insect

    union 求两个向量的并集集合可以是任何数值类型 union(x=1:3, y=2:5)[1] 1 2 3 4 5 union(x=c("abc", "12" ...

  6. 解决Linux服务器磁盘空间不足的问题

    在linux服务器执行程序时报错: awk: write failure (No space left on device)awk: close failed on file /dev/stdout ...

  7. 在WPF中调用另存为对话框

    Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.FileName = "User ...

  8. Javascript 高级程序设计(第3版) - 第02章

    2017-05-10 更新原文: http://www.cnblogs.com/daysme 在 html 中使用 js 把js代码写在 <script type="text/java ...

  9. Leetcode122-Best Time to Buy and Sell Stock II-Easy

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  10. Terminal run py文件

    cd Documents cd PythonCode python3 hello.py Text Editor: Atom Atom 可以用来写 python 脚本 (文件后缀名 .py). 但是不用 ...