- 博客(12)
- 收藏
- 关注
原创 es5 的面向对象和 es6 的面向对象
es5的面向对象是通过new一个构造函数实现的es6的面向对象是通过class实现的es6的class就是面向对象的语法糖(实现同样的功能但是代码更少 更加简洁)面向对象是一个概念或者编程思想,面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近失误的自然运行模式(在js中一切皆为对象 比如说数组object number string 等等 这些都是内置对象该怎么怎么自定义对象?es5的时候没有像后台语言一样的clas
2022-05-03 10:44:59
137
原创 路由导航守卫(扩展)
路由导航守卫扩展我理解的导航守卫 就是一座房子的保安 只有保安允许了才能访问页面之前说三种六个 还有一个用的不是很多的全局守卫 叫做全局解析守卫 beforeResolve导航守卫一共有三种 全局的守卫 守卫所有的页面 beforeEach 路由前置守卫 beforeResolve 路由解析之前 afterEach 路由离开全局守卫 beforeEach 和 beforeResolve 他们两个都会在路由跳转前就执行 参数都是 to from next 他们两个的区别 执行的时机不一样 be
2022-04-27 15:00:00
90
原创 mixin 混入
mixin 混入我对mixin混入的理解混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。当组件和混入对象含有同名选项时,这些选项将以恰当的方式进行“合并”,出现冲突的时候以组件优先 比如,生命周期函数就会合并 但是如果组件和混入有相同的变量的时候 会以组件的优先全局混入 混入也可以进行全局注册。使用时格外小心!一旦使用全局混入,所有的实例都会触发.
2022-04-27 10:39:14
1154
原创 虚拟dom 和 diff算法
虚拟 dom虚拟 dom 是利用 js 描述元素与元素的关系,用 js 对象来表示真实的 DOM 树结构,创建一个虚拟 DOM 对象 由于在浏览器中操作 DOM 是很昂贵的。频繁的操作 DOM,会产⽣⼀定的性能问题. 在组件渲染的时候会调用 render 函数,这个函数会生成一个虚拟 dom,再根据这个虚拟 dom 生成真实的 dom,然后这个真实的 dom 会挂载到我们的页面中。 如果只是渲染一个页面后期不改动的话 那么虚拟 dom 其实成本更高 因为 都要渲染成真实的 dom 如果组件内有响应的数据
2022-04-27 10:37:25
235
原创 生命周期 vuex 导航守卫 methods computed watch区别理解
一.生命周期1.什么是生命周期函数生命周期函数 又叫钩子函数 是到了某一个时间点会自动触发 我们讨论的是 vue 实例的钩子函数 从 vue 实例创建到销毁的过程中 到了一定的时间节点就会触发1.1 生命周期函数有哪些创建阶段 beforeCreate 实例创建之前 这个时候什么都没有 data methods 都不能用 也没有 this created 创建之后 也是最早的可以使用 data 和 methods 的钩子函数 这个时候有 this 了 beforeM
2022-04-22 16:40:42
102
原创 VUEX部分知识点
介绍vuex: 是一个专为 vue.js开发的状态管理器,采用集中式存储的多有组件状态,通过vuex我们可以解决组件之间数据共享的问题,后期也方斌啊我们管理以及维护有五个属性分别是:state. gettters.mutations.actions.modulestate属性:存放状态,泪如你要存放的数据getters:类似于共享属性,可以通过this.$store.getters来获取存放在state里面的数据mutations:唯一能改变state的装填就是通过提交mutations
2022-02-22 17:20:25
97
原创 vue 虚拟dom,diff算法
虚拟daom虚拟dom就是普通的js对象来描述DOM结构,因为不是真是DOM,所以被称之为虚拟DOM虚拟dom是浏览器所渲染出来的真实dom,在react,vue 等技术出现之前,改变页面展示的内容,只能通过遍历查询dom树的方式,找到需要修改的dom,然后修改样式行为或者结构,来达到更新视图的目的。diff算法diff算法就是进行虚拟节点对比,并返回一个patch对象,用来存储两个节点不同的地方,最后用patch记录的消息去局部更新Dom。简单来说:diff的过程就是调用名为patch
2022-02-22 15:19:29
360
原创 VUE双向数据绑定原理
是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter在数据变动时发布消息给订阅者,触发相应的监听回调来渲染视图,实现数据和视图同步。第一步:需要observer(观察者)的数据对象进行递归遍历,包括子属性对象的属性,都加上 setter和getter,这样的话,给这个对象的某个值赋值,就会触发setter,那么就能监听到了数据变化第二步:compile(模板解析器)解析模板指令,将模板中的变量替换成数据,然...
2022-02-21 10:38:32
58
原创 小程序组件注册和组件通信
第一步 先在我们的项目目录中创建组件文件夹 建议命名成components(任何名字都可以)第二步 在该文件夹中创建component第三步 编写组件结构第四步 将组件引入要使用组件的页面中第五步 注册组件 在页面的json文件中使用usingComponent: {} 引入组件...
2021-12-30 10:57:23
757
原创 小程序路由跳转
小程序的路由分为编程式路由和声明式路由声明式路由通过navigator组件进行页面跳转的方法 url 便是要跳转进入的页面地址 open-type定义路由跳转的方式 navigate 默认值 保留当前页面,跳转到应用内的某个页面.不能跳到tabbar页面 wx.navigateBack可以返回到原页面.小程序中页面栈最多十层 redirect关闭当前页面,跳转到应用的某个页面 relauch关闭所有页面,打开应用的某个页面...
2021-12-29 10:10:16
454
原创 小程序生命周期
小程序页面生命周期onLoad: function(options) { // 页面创建时执行 }, onShow: function() { // 页面出现在前台时执行 当页面跳转方式是navigate时 页面显示时触发 }, onReady: function() { // 页面首次渲染完毕时执行 }, onHide: function() { // 页面从前台变为后台时执行 当页面跳转方式是navigate时 页面隐藏时触发 }, on...
2021-12-29 09:59:06
415
原创 微信小程序的部分理论题
1. 简述微信小程序的运行机制热启动 :假如⽤户已经打开了某个⼩程序,在⼀定时间内再次打开⼩程序的话,这个时候我们就不再需要重新启动了,只需要把我们的后台打开的⼩程序切换到前台来使⽤。冷启动:⽤户⾸次打开⼩程序或被微信主动销毁再次打开的情况,此时⼩程序需要重新加载启动。2. 分析一下小程序的优劣势优势: 无需下载,通过搜索和扫一扫就可以打开 打开速度快 开发成本比App要低 安卓上可以添加到桌面,与原生App差不多 为用户提供良好的安全保障。
2021-12-27 11:14:41
439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人