1.3 插槽 slot

template: `
<button> <slot></slot> </button>
` <my-button>内容</my-button》
<div class="container">
<header>
<slot name="header"></slot>
</header>
<main>
<slot></slot>
</main>
<footer>
<slot name="footer"></slot>
</footer>
</div> //调用组件
<base-layout>
<template slot="header">
<h1>Here might be a page title</h1>
</template> <p>A paragraph for the main content.</p>
<p>And another one.</p> <p slot="footer">Here's some contact info</p>
</base-layout>

1.4 动态组件

<component is="组件"></component>

<keep-alive>
<component is="组件"></component>
</keep-alive>

1.5 组件注意事项

<table>
<tr is="组件名"></tr>
</table> 给组件标签 设置的class和style 会自动添加到 组件模板的根元素上 在组件标签上添加原生事件 <my-component @click.native=""> 实现prop的双向数据绑定 :属性名.sync
子组件要配合, this.$emit('update:属性名', 新值)

2 前端工程化

2.1 支持环境 Node

node.js JavaScript的解释器

用于后端开发
作为前端工具的支持环境

2.2 NPM 包管理工具

包管理工具
集成在node.js中,不需要单独下载 前端的一切资源都可以都过npm下载 包括 各种前端工具(webpack\grunt...) 各种前端资源(jquery\bootstrap...)
npm install 包名        本地安装(本项目目录) (资源类)
npm install -g 包名 全局安装(命令行工具)
npm uninstall 包名 删掉本地的包
npm uninstall 包名 -g 删除全局安装的包
#项目初始化
npm init
创建一个package.json 里面是对项目的描述,指定依赖
项目中的node_moudules 目录 不需要上传
运行 npm install 自动安装项目所有的依赖(存在package.json)
npm install 包 --save 下载包的同时,加入到package.json中的 `dependencies`
npm install 包 --save-dev 下载包的同时,加入到package.json中的 `devDependencies` 开发阶段的依赖

2.3 模块化工具

  • webpack
  • Browserify

把前端所有的资源当做模块,向引入模块一样去使用

2.4 自动化工具

集成各种应用:代码压缩、图片压缩、编译sass....

  • grunt
  • gulp
  • webpack

3 Vue生成器

集成了webpack、以及其他各种需要的工具

3.1 安装

npm install -g @vue/cli   安装3.x
npm install -g vue/cli 安装的2.x

3.2 使用

vue create 项目名称   自动生成项目的目录

3.3 包含的东西

webpack
babel 把ES6编译成ES5
eslint 代码语法规范
TypeScript 负责把TypeScript编译成JavaScript
Router(vue-router Vue全家桶成员) 路由
Vuex(Vue全家桶成员) vue状态管理
CSS Pre-processors CSS预处理 会让你再次选择器(SASS、LESS、Stylus...)
Linter / Formatter 语法检查
Unit Testing 单元测试
E2E Testing 端到端测试

2.4 命令

npm run serve  临时编译,创建临时服务器  loacalhost:8080
npm run build 编译,生成dist目录

4. 前端的集成环境 WebStorm

5 项目目录结构

|- node_modules
|- public
|- index.html
|- assets 静态文件 图片、字体
|- src
|- components 普通组件(局部)
|- HelloWorld.vue
|- views 页面组件
|- Home.vue
|- About.vue
|- main.js 入口
|- App.vue 总体结构组件
|- router.js 路由设置
|- store.js 状态管理
|- package.json

6 Vue全家桶

vue 本身
vue-router 路由
vuex 状态管理
vue-ssr 服务端渲染 element-ui vue样式组件库

最新文章

  1. html常用标签介绍
  2. Machine Learning Algorithms Study Notes(5)—Reinforcement Learning
  3. iOS加载程序视图的方式
  4. 使用BusyBox制作根文件系统【转】
  5. SQLite使用教程10 运算符
  6. openMPI小集群安装
  7. Oracle EBS-SQL (WIP-14):检查车间需求与BOM差异对照.sql
  8. 别忘记给你博客的windows live writer配置 ping服务
  9. 洛谷P3244 [HNOI2015]落忆枫音
  10. 51nod“省选”模测第二场 C 小朋友的笑话(线段树 set)
  11. Windows登录后不记得密码
  12. Nginx 减少关闭连接的time_wait端口数量
  13. .Net结合JQuery实现向aspx后台函数进行请求。
  14. luogu P1445 [Violet]嘤F♂A
  15. 智能优化 之 下山单纯形法 C++
  16. 【Sqlserver】SqlServer中EXEC 与 SP_EXECUTESQL的 区别
  17. 转换区别json
  18. C语言--第四周作业评分和总结(5班)
  19. .NET MVC 学习笔记(五)— Data Validation
  20. .2-浅析express源码之applicaiton模块(1)-咸鱼方法

热门文章

  1. js基础知识点收集
  2. TypeError: expected string or buffer的解决方法
  3. MSF爆破MSSQL
  4. js 验证ip列表
  5. device tree source file position
  6. 可以高度定制的代理服务器anyproxy
  7. mybaits-spring demo 记
  8. caffe Python API 之InnerProduct
  9. 过渡&amp;动画
  10. C#多线程编程之:集合类中Synchronized方法与SyncRoot属性原理分析