1.安装Vue
  注:node版本必须大于等于8.9
  vue-cli3.x:npm install -g @vue/cli
  vue-cli2.x:npm install -g @vue/cli-init

使用三步曲:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<!-- 1. 引入vue.js -->
<script src="./node_modules/vue/dist/vue.js"></script>
</head>
<body>
<!-- 2. 编写div元素 -->
<div id="app"> </div>
<!-- 3. vue实例 -->
<script>
const vm = new Vue({
el: '#app', // 元素
data: {}, // 属性
methods: {} // 方法
})
</script>
</body>
</html>

data中的内容就是M(模型), div中的内容是V(视图), vue实例是VM


2.创建项目
  vue init webpack my-project
  注:安装依赖的时候,选择最后一个,就是自己安装,检验和路由初学者一般不安装,后面学习的时候再安装到项目
  cd my-project
  npm start/npm run dev

3.工程目录说明

.
├── build/ # webpack配置文件
│ └── ...
├── config/
│ ├── index.js # 主要项目配置
│ └── ...
├── src/
│ ├── main.js # 应用入口文件
│ ├── App.vue # 主应用程序组件
│ ├── components/ # ui组件
│ │ └── ...
│ └── assets/ # 模块资源(由webpack处理)
│ └── ...
├── static/ # 纯静态资源(直接复制)
├── test/
│ └── unit/ # 单元测试
│ │ ├── specs/ # 测试spec文件
│ │ ├── index.js # 测试构建条目文件
│ │ └── karma.conf.js # 测试跑步者配置文件
│ └── e2e/ # e2e测试
│ │ ├── specs/ # 测试spec文件
│ │ ├── custom-assertions/ # e2e测试的自定义断言
│ │ ├── runner.js # 测试跑步脚本
│ │ └── nightwatch.conf.js # 测试跑步者配置文件
├── .babelrc # babel 配置
├── .postcssrc.js # postcss 配置
├── .eslintrc.js # eslint 配置
├── .editorconfig # editor 配置
├── index.html # index.html模板
└── package.json # 构建脚本和依赖关系

4.基础指令
  Mustache:{{ 变量 }}  只能存在单行语句
  v-once:只能渲染一次
  v-html:解析HTML结构
  v-bind:指令(解析属性中的对象)
  v-bind简写:(:)
  v-if:条件渲染
  v-show:条件渲染

5.v-if vs v-show
  v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。
  v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。
  相比之下,v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。
  一般来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

6.列表渲染
  v-for

7.事件处理
  1.事件改变data数据,data数据改变会引起视图的变化
  2.事件传递参数
    $event
  3.数组更新检测
    append,unshift
    最开始讲数组的时候:老师在讲一个方法的时候会说,返回一个原数组还是新数组
    变异方法:
      改变原数组,则可以引起视图更新
      不改变原数组,创建新数组,则无法引起视图更新

8.计算属性
  计算属性缓存 vs 方法
  我们可以将同一函数定义为一个方法而不是一个计算属性。两种方式的最终结果确实是完全相同的。然而,不同的是计算属性是基于它们的依赖进行缓存的。计算属性只有在它的相关依赖发生改变时才会重新求值。这就意味着只要 message 还没有发生改变,多次访问 reversedMessage 计算属性会立即返回之前的计算结果,而不必再次执行函数

9.Class与Style绑定

10.表单输入绑定
  修饰符:
    .lazy
    .number
    .trim
  watch:监听事件

11.组件传递数据props
12.自定义事件向父组件传递数据
  $emit(自定义事件)

最新文章

  1. 运用Mono.Cecil 反射读取.NET程序集元数据
  2. android 入门-安装环境
  3. 学习 easyui 之一:easyloader 分析与使用
  4. JAVA操作数组
  5. ActiveMQ之二--JMS消息类型
  6. lintcode 中等题:permutations II 重复数据的全排列
  7. [原创] zabbix学习之旅一:源码安装
  8. 输入一个正数 n,输出所有和为 n 连续正数序列。 java实现
  9. 【转】shell 教程——02 几种常见的Shell
  10. 使用FTPClient进行文件服务器内文件的上传和下载
  11. javascript 面向对象的继承的实现
  12. HDU1004题解分析(字符串处理)
  13. asp.net出现正在中止线程解决方案
  14. HGE基础教程
  15. (Sql Server)数据的拆分和合并
  16. 201521123018 《Java程序设计》第4周学习总结
  17. Django+xadmin打造在线教育平台(四)
  18. 封装继承多态(OOP)
  19. 651. 4 Keys Keyboard复制粘贴获得的最大长度
  20. JAVA发送http get/post请求,调用http接口、方法

热门文章

  1. pycharm git 用法总结
  2. S5PV210 时钟
  3. sql server with as只能查询一次
  4. 后台对象转JSON字符串传到前台,前台JSON字符串转对象绑定标签赋值
  5. linux命令详解
  6. Linux网络编程综合运用之MiniFtp实现(三)
  7. linux网络编程之socket编程(十四)
  8. ASP.NET MVC 入门5、View与ViewData
  9. Hive窗口函数案例详解
  10. numpy 参考:https://mp.weixin.qq.com/s?__biz=MzU1MjYzNjQwOQ==&amp;mid=2247486010&amp;idx=1&amp;sn=e42e6706e0e285ecbfdbbd76fb4ff352&amp;chksm=fbfe50accc89d9ba56a3167c519638f1327a5c5bf12ed59dd8c6de9b2c25baeec1f1f8ad5fb7&amp;