赞
踩
vue是一套用于构建用户界面的渐进式框架,相当于view层, 可以双向数据绑定, 相对其他框架,他更轻量, 性能上更高效, 更容易上手, 学习成本低,可以和各种支持的第三方库结合使用,完全能够为复杂的单页面富应用(SPA)提供驱动
React采用特殊的JSX语法,Vue在组件开发中使用.vue特殊文件格式;中心思想相同:都是使用组件,组件实例之间可以嵌套;都不内置AJAX,Route等功能到核心包,而是以插件的方式加载;在组件开发中都支持mixins的特性。
实例从创建到销毁的过程,就是生命周期。也就是从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等一系列过程,我们称这是 Vue 的生命周期。
可以总共分为8个阶段:创建前/后, 载入前/后,更新前/后,销毁前/销毁后
beforeCreate:在beforeCreate生命周期执行的时候,data和methods中的数据都还没有初始化。不能在这个阶段使用data中的数据和methods中的方法
created:data 和 methods都已经被初始化好了,如果要调用 methods 中的方法,或者操作 data 中的数据,最早可以在这个阶段中操作
beforeMount:执行到这个钩子的时候,在内存中已经编译好了模板了,但是还没有挂载到页面中,此时,页面还是旧的
mounted:执行到这个钩子的时候,就表示Vue实例已经初始化完成了。此时组件脱离了创建阶段,进入到了运行阶段。 如果要通过插件操作页面上的DOM节点,最早可以在和这个阶段中进行
beforeUpdate: 当执行这个钩子时,页面中的显示的数据还是旧的,data中的数据是更新后的, 页面还没有和最新的数据保持同步
updated:页面显示的数据和data中的数据已经保持同步了,都是最新的
beforeDestroy:Vue实例从运行阶段进入到了销毁阶段,这个时候上所有的 data 和 methods ,指令,过滤器 ……都是处于可用状态。还没有真正被销毁
destroyed: 这个时候上所有的 data 和 methods ,指令,过滤器 ……都是处于不可用状态。组件已经被销毁了。
在 Controller 里面把 Model 的数据赋值给 View
Model模型:用于处理应用程序的数据逻辑
View视图:用于应用程序中处理数据显示
Controller控制器:是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据
vue 响应式是通过 数据劫持 结合 观察者模式的方式来实现的,
核心:关于VUE响应式,其核心是 Object.defineProperty()
方法。
组件中的data写成一个函数,数据以函数返回值的形式定义,这样每次复用组件的时候,都会返回一份新的data,相当于每个组件实例都有自己私有的数据空间,它们只负责各自维护的数据,不会造成混乱。而单纯的写成对象形式,就是所有的组件实例共用了一个data,这样改一个全都改了
ref=“domName” 用法:this.$refs.domName
数据驱动(ViewModel)、组件系统
props
和$emit
:父组件向子组件传递数据是通过 prop
传递的,子组件传递数据给父组件是通过$emit
触发事件来做到的
$parent
,$children
获取当前组件的父组件和子组件
$refs
获取组件实例
eventBus
兄弟组件数据传递 ,这种情况下可以使用事件总线的方式
vuex状态管理
本质就是用一个原生的 JS 对象去描述一个 DOM 节点,是对真实 DOM 的一层抽象
在浏览器中频繁的操作 DOM,会产生一定的性能问题。这就是虚拟 Dom 的产生原因
优点:
缺点
const router = new VueRouter({
routes: [
// 动态路径参数 以冒号开头
{ path: "/user/:id", component: User },
],
});
vuex 是专门为 vue 提供的全局状态管理系统,可以为多个组件实现数据共享、数据缓存等
1.工厂模式 - 传入参数即可创建实例
虚拟 DOM 根据参数的不同返回基础标签的 Vnode 和组件 Vnode
2.单例模式 - 整个程序有且仅有一个实例
vuex 和 vue-router 的插件注册方法 install 判断如果系统存在实例就直接返回掉
3.发布-订阅模式 (vue 事件机制)
4.观察者模式 (响应式数据原理)
5.装饰模式: (@装饰器的用法)
6.策略模式 策略模式指对象有某个行为,但是在不同的场景中,该行为有不同的实现方案-比如选项的合并策略
在不同的组件中经常会需要用到一些相同或者相似的代码,这些代码的功能相对独立,可以通过 Vue 的 mixin 功能抽离公共的业务逻辑,
原理类似“对象的继承”,当组件初始化时会调用 mergeOptions 方法进行合并,采用策略模式针对不同的属性进行合并。当组件和混入对象含有同名选项时,这些选项将以恰当的方式进行“合并”。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。