Vue.js 是什么
vue是一套用于构建用户界面的渐进式框架 ,(对他的理解)Vue被设计为可以自底向上逐层应用。Vue的核心库只关心图层,易上手,也方便与第三方库或既有的项目整合
● mvvm模型:m:model–数据模型 (data) v:view—视图(dom) vm:viewModel—视图模型(Vue实例)
● node.js:本质上是一个JavaScript的运行环境,方便搭建响应速度快、易于扩展的网络应用,他也有很多的缺点:不适合做CPU密集型应用。只支持单核CPU,不能充分利用。可靠性比较低,一旦代码的某个环节彭亏了,整个系统其实都会崩溃的。
vue.js的两个核心:数据驱动和组件化思想
v-show指令是通过修改元素的display的css属性让其现实和隐藏
v-if指令是直接销毁和重建DOM达到让元素显示和隐藏的效果
Vue的实例
Vue 的生命周期:就是从开始创建,初始化数据、编译模板挂载DOM->渲染、更新->渲染、销毁等一系列的过程,就是Vue 的生命周期
● 计算属性的getter和setter参数是不固定的
自定义 组件内的数据data必须是一个函数
data:function(){
return {count:0}
}
prop的使用方法
当父组件给子组件的prop传递一个值的时候,这个值就变成了子组件实例的一个实例属性
Vue CLI(脚手架)
vue CLI 是一个基于Vue.js进行快速开发的一个完整的系统
● 通过 实现的交互式的项目脚手架
Vue CLI致力于将Vue生态中的工具基础标准化,确保了各种构建工具能够基于智能的默认配置平稳衔接。
Vue 是一个全局安装的npm包,提供了终端里的Vue命令,他可以通过Vue create快速搭建一个新项目。或者乐意直接通过Vue serve构建新想法的原型,你也可以通过Vue ui通过一套图形化界面管理你的所有的项目。
Vue 的双向绑定
Vue实现双向数据绑定的原理就是利用了Object.defineProperty()这个方法重新定义了对象获取属性值(get)设置属性值(set)的操作来实现的
jQuery的知识
jQuery库 可以通过一行简单的标记被添加到网页中
为什么要使用这个呢,目前网络上有大量的开源的JS代码库,但是jQuery是目前最流行的JS代码库,而且提供了大量的扩展。他可以考虑到不同的浏览器的兼容问题,所以他可以兼容于所有的主流浏览器。
jQuery语法是通过选取HTML元素,并对选取的元素执行某些操作
组件的设计原则
(1)页面上的每个独立的可视/可交互的区域视为一个组件(页面的头部,尾部,可复用的区域)
(2)每个组件对应一个工程目录,组件所需要的各种资源就在这个目录下就近维护(就近维护体现了前端的工程化思想,为前端开发提供了很好的分治策略)在这个目录下其实是可以找到功能单元所有的内部逻辑
(3)页面是组件的容器,组件可以嵌套自由组合成完整的页面
Vue事件是如何使用event对象的
最后的总结:
● Ajax是一种web数据交互的方式,他可以使页面在不重新加载的情况下请求数据并进行局部更新,它的内部使用了XHR来进行异步请求。
Ajax在使用XHR发起异步请求时得到的是XML格式的数据,如果想要json格式,需要额外的转换;Ajax本身是针对MVC格式的,不符合现在的MVVM框架,ajax有回调地域的问题。Ajax的配置复杂。
● fetch是HXR的代替品,它基于promise实现的,并且不使用回调函数,他是采用的模块化结构设计,使用数据流进行传输,对于大文件和网速慢的情况是非常友好的,但是fetch不会对请求和响应进行监听;不能阻断请求。对于底层,对一些代码是没有封装的;他的兼容型也是很差的。
● axios是基于promise对XHR进行封装,他的内部有两个拦截器。axios可以对请求和响应进行监听,返回promise对象,可以使用promise的API;返回JSON 格式的数据,由浏览器发起的请求,安全性更高,可以抵御CSRF的攻击。
XHR:全称为XMLHttpRequest,用于与服务器交互数据。是ajax功能所依赖的对象、jQuery中的ajax就是对XHR的封装。
同步请求和异步请求
浏览器发送请求给服务器,有同步和异步两种方式。