前端学习历程--vue
---恢复内容开始---
一、对比其他框架
1、react:
共同点:
- 使用 Virtual DOM
- 提供了响应式(Reactive)和组件化(Composable)的视图组件。
- 将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库。
- react路由使用redux,vue也用了类似的vuex
不同点:
- vue更轻量级,react社区更强大
- vue自动获得了
shouldComponentUpdate避免重复渲染
- 在处理动画时,Vue 每秒最高处理 10 帧,而 React 每秒最高处理不到 1 帧(由于 React 有大量的检查机制,这会让它提供许多有用的警告和错误提示信息。我们同样认为这些是很重要的,但是我们在实现这些检查时,也更加密切地关注了性能方面)。
- react的jsx使一切都变为js,vue仍使用template(也支持jsx),这会更易读,易迁移
- Vue 可以让你在每个单文件组件中完全访问 CSS
scoped
属性会自动添加一个唯一的属性(比如 data-v-21e5b78
)为组件内 CSS 指定作用域,编译的时候.list-container:hover
会被编译成类似 .list-container[data-v-21e5b78]:hover
。
- vue-cli和create-react-app都包含了webpack,但Vue 支持 Yeoman-like 定制
2、angular1
相同点:
- 写法与ng几乎相同
不同点:
- 更灵活,也更简单
- 在 Vue 中指令和组件分得更清晰
- Vue 有更好的性能,并且非常非常容易优化,因为它不使用脏检查,vue使用基于依赖追踪的观察系统并且异步队列更新,所有的数据变化都是独立触发,除非它们之间有明确的依赖关系。和ng2中解决watcher过多办法一致。
3、angular2
- ng2基于ts开发, ts静态类型检查在大规模的应用中非常有用,但中型项目不合适
二、使用
1、hello world
---恢复内容结束---
一、对比其他框架
1、react:
共同点:
- 使用 Virtual DOM
- 提供了响应式(Reactive)和组件化(Composable)的视图组件。
- 将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库。
- react路由使用redux,vue也用了类似的vuex
不同点:
- vue更轻量级,react社区更强大
- vue自动获得了
shouldComponentUpdate避免重复渲染
- 在处理动画时,Vue 每秒最高处理 10 帧,而 React 每秒最高处理不到 1 帧(由于 React 有大量的检查机制,这会让它提供许多有用的警告和错误提示信息。我们同样认为这些是很重要的,但是我们在实现这些检查时,也更加密切地关注了性能方面)。
- react的jsx使一切都变为js,vue仍使用template(也支持jsx),这会更易读,易迁移
- Vue 可以让你在每个单文件组件中完全访问 CSS
scoped
属性会自动添加一个唯一的属性(比如 data-v-21e5b78
)为组件内 CSS 指定作用域,编译的时候.list-container:hover
会被编译成类似 .list-container[data-v-21e5b78]:hover
。
- vue-cli和create-react-app都包含了webpack,但Vue 支持 Yeoman-like 定制
2、angular1
相同点:
- 写法与ng几乎相同
不同点:
- 更灵活,也更简单
- 在 Vue 中指令和组件分得更清晰
- Vue 有更好的性能,并且非常非常容易优化,因为它不使用脏检查,vue使用基于依赖追踪的观察系统并且异步队列更新,所有的数据变化都是独立触发,除非它们之间有明确的依赖关系。和ng2中解决watcher过多办法一致。
3、angular2
- ng2基于ts开发, ts静态类型检查在大规模的应用中非常有用,但中型项目不合适
二、使用
1、hello world
2、绑定dom元素
3、v-on
4、组件注册
5、props组件接收属性
可以使用 v-bind
指令将待办项传到每一个重复的组件中
三、vue实例
1、构造器
组件构造器
2、构造函数的对象与data对象相互作用
3、$前缀:与构造函数中名称区分
4、没有控制器概念,逻辑放在生命周期钩子中
如 mounted
、 updated
、destroyed
四、模板语法
1、vue底层将html编译为虚拟dom,也支持直接在render中写jsx
2、v-html中可以存放拼接模板,但不安全
3、使用js表达式
4、过滤器
只能在这两个地方使用
5、缩写
五、计算属性
1、模板表达式中需表达复杂逻辑时使用 计算属性
reversedMessage就是计算属性,且依赖message
2、计算属性 vs methods
methods没有缓存机制,不管message是否改变,都执行函数,计算属性如果message不变,不会重新执行函数
3、computed vs watched
4、计算setter
运行 vm.fullName = 'John Doe'
时, setter 会被调用, vm.firstName
和 vm.lastName
也相应地会被更新。
5、watch:停止等待输入完毕
使用 watch
选项允许我们执行异步操作(访问一个 API),限制我们执行该操作的频率,并在我们得到最终结果前,设置中间状态。这是计算属性无法做到的。
v-bind:class
指令可以与普通的 class 属性共存。页可以这样写
也可以在这里绑定返回对象的计算属性
2、v-bind:style绑定内联样式
七、条件渲染
1、v-if
2、v-if条件组
八、列表渲染
1、v-for
持一个可选的第二个参数为当前项的索引。
2、整数迭代
3、key
九、事件处理v-on
1、基本使用
十、表单控制 v-model
1、基本使用
2、单选框
3、复选框
4、单选按钮
5、单选列表
6、多选列表
前端学习历程--vue的更多相关文章
- 前端学习历程--js--原型&闭包
一.数据类型 1.值类型:undefined, number, string, boolean,不是对象 2.引用类型:函数.数组.对象.null.new Number(10)都是对象 3.引用类型判 ...
- 前端学习日记-vue cli3.0环境搭建
卸载老版本的 vue-cli : npm uninstall vue-cli -g 安装新版本的 : npm install -g @vue/cli --安装新版本cli 同时nodeJS 要更新至 ...
- 前端学习历程--http与https
一.CA(证书授权中心)证书 1.ca是通信的中介,具有足够的权威性 2.信任可嵌套如:C 信任 A1,A1 信任 A2,A2 信任 A3 二.根本区别 1.https需要基于ssl的ca证书认证(判 ...
- web前端学习历程--跨域问题
一.同源策略 一个页面的ajax只能获取这个页面相同源(协议.域名.端口号都必须相同)的数据. 二.jsonp方法 1.json和jsonp JSON(JavaScript Object Notati ...
- web前端学习历程--排序
一.js排序方法 1.按字母顺序排列: arr.sort() 2.按数值从小到大: function sortNumber(a,b)//排序函数 { return a - b } var arr = ...
- 前端学习历程--js事件监听
一.事件监听使用场景 1.事件触发多个方法的时候,后一个方法会把前一个方法覆盖掉. window.onload = function(){ var btn = document.getElement ...
- 前端学习历程--localstroge
一. localstorage的特性 1.需要ie8+ 2.浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换 3.local ...
- 前端学习历程--css①
---恢复内容开始--- 本文用自己的理解,总结网上或者自身经历的问题,加以汇总,方便查找: 一.浏览器默认样式 1.浏览器处理css&html a.css作用范围:盒子模式.浮动.定位.背景 ...
- vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结
vue—你必须知道的 目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...
随机推荐
- python3 request模块初使用
import requests class Interface_Request: def __init__(self,url,mobilephone,pwd): '''login参数初始化''' se ...
- leetcode 91 Decode Ways I
令dp[i]为从0到i的总方法数,那么很容易得出dp[i]=dp[i-1]+dp[i-2], 即当我们以i为结尾的时候,可以将i单独作为一个字母decode (dp[i-1]),同时也可以将i和i-1 ...
- centos6.8 安装jdk
一.卸载CentOS自带的Java 1. 查看CentOS的Java的信息 [root@bogon /]# java -version java version "1.7.0_9 ...
- SoapUI破解及安装教程
之前学了一段时间的SoapUI,但是好久不用了,这里记录下专业版的破解的流程,后续的学习会不断更新. soapUI安装及破解(这里针对专业版) 下载地址:http://dl.eviware.com/l ...
- Oracle Sequence创建与使用
一.Sequence简介 Sequence是数据库系统按照一定的规则自动增加的数字序列,主要用于生成数据库数据记录.这个序列一般作为代理主键(因为不会重复). Sequence是数据中一个特殊存放等差 ...
- Hibernate用注解方式实现一对多、多对多关系
一.一对多关系 1.在上一篇日志中用.xml配置文件项目基础上,再往lib目录先添加一个包-hibernate-jpa-2.0-api-1.0.0.Final.jar 2.新建一个com.st.bea ...
- day 25 二十五、抽象类、多态、鸭子、反射、异常处理
一.接口思想 1.接口:建立关联的桥梁,方便管理代码 python中没有接口语法 def jiao(): pass def chi(): pass def pao(): pass # 清晰知道操作的功 ...
- JDK安装路径下的JRE与独立安装的JRE区别
在JDK安装目录下的子文件下,已经默认安装了一个jre.且与独立安装的JRE6所包含的文件几乎完全一样. JDK里面内置的JRE和独立的JRE是有一点差别的: 在JDK安装文件中包含了一个完整的独立版 ...
- C语言:二进制模5
输入一串字符,若是二进制则求其模五的值. 要求:1.若输入的字符包含除0.1以外的值,则输出:invalid 2.若输入的为二进制字符串,则输出所计算的其模五的值 3.若其输入字符均为0.1,但是第一 ...
- 【Python基础】lpthw - Exercise 43 基本的面向对象分析和设计
1. A game from sys import exit from random import randint from textwrap import dedent # 使可以使用三引号型的字符 ...