promise

0311lc.com说:学习promise之前重温了Ajax的原生js实现, 在原生js中发送一个http请求首先new XMLHttpRequest() 然后定义状态变更事件 浏览器监听请求的状态,触发不同状态下相应的代码 promise 异步操作在运行或计算的时候不会阻止程序执行其它操作 这个异步操作就是promise,它代表异步操作执行的最终结果 异步操作过程中称为挂起(pending),结果(settled)可以是完成或拒绝, promise定义的then()方法注册的函数会在异步操作完……阅读更多

vue 中使用vuex和localStorage保存登录状态

0311lc.com说: 需求:刷新页面,登录状态不会因此改 变 首先说一下vuex和localStorage的区别 1.实质区别 vuex存的是状态,存储在内存;localStorage是浏览器提供的接口,让你存的是接口,以文件的形式存储到本地 2.应用场景 vuex用于组件之间的传值,localStorage则主要用于页面之间的传值 3.永久性 当刷新页面时,vuex存储的值会丢失,localStorage不会 总结 localStorage可以代替vuex,对于不变的数据确实可以,但是当两……阅读更多

vuex实现兄弟组件之间传值

0311lc.com说:vuex传值 我的早前的一篇博客vue之间的传值,那时还没有去了解vuex所以没有做这方面的笔记,昨天认真看了一下网上讲解的虽然不能说全部理解透,但是有了一个大致的理解。 vuex主要用于管理vue中的数据,但是网上说最好大型项目用,其他的一些中小型或者小型的项目能别用尽量别用(现在还不太理解),vuex中主要包含四类:state、getter、mutations、actions,之间的关系如下图: 从上图可以很清晰的看到每个状态之间的触发的方法,其中,state主要用于……阅读更多

ES6 迭代器

0311lc.com说: Iterator Iterator 是 ES6 引入的一种新的遍历机制,迭代器有两个核心概念: 迭代器是一个统一的接口,它的作用是使各种数据结构可被便捷的访问,它是通过一个键为Symbol.iterator 的方法来实现。 迭代器是用于遍历数据结构元素的指针(如数据库中的游标)。 迭代过程 迭代的过程如下: 通过 Symbol.iterator 创建一个迭代器,指向当前数据结构的起始位置 随后通过 next 方法进行向下迭代指向下一个位置, next 方法会返回当前位置……阅读更多

Promise 对象 Generator 函数 async 函数

0311lc.com说: 概述 是异步编程的一种解决方案。 从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。 Promise 状态 状态的特点 Promise 异步操作有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。除了异步操作的结果,任何其他操作都无法改变这个状态。 Promise 对象只有:从 pending 变为 fulfilled 和从 pending 变为 rejected 的状态改变。只要处于 fulfilled ……阅读更多

ES6 字符串 数值

0311lc.com说: ————–查找字符串———- includes():返回布尔值,判断是否找到参数字符串。 startsWith():返回布尔值,判断参数字符串是否在原字符串的头部。 endsWith():返回布尔值,判断参数字符串是否在原字符串的尾部。 let string = “apple,banana,orange”; string.includes(“banana”); // true string.startsWith(“apple”); // t……阅读更多

ES6 Reflect 与 Proxy

0311lc.com说: 概述 Proxy 与 Reflect 是 ES6 为了操作对象引入的 API 。 Proxy 可以对目标对象的读取、函数调用等操作进行拦截,然后进行操作处理。它不直接操作对象,而是像代理模式,通过对象的代理对象进行操作,在进行这些操作时,可以添加一些需要的额外操作。 Reflect 可以用于获取目标对象的行为,它与 Object 类似,但是更易读,为操作对象提供了一种更优雅的方式。它的方法与 Proxy 是对应的。 基本用法 Proxy 一个 Proxy 对象由两个部分……阅读更多

ES6 Map 与 Set

0311lc.com说: Map 对象 Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。 Maps 和 Objects 的区别 一个 Object 的键只能是字符串或者 Symbols,但一个 Map 的键可以是任意值。 Map 中的键值是有序的(FIFO 原则),而添加到对象中的键则不是。 Map 的键值对个数可以从 size 属性获取,而 Object 的键值对个数只能手动计算。 Object 都有自己的原型,原型链上的键名有可能和你自己在对象上的设置的键名产生冲……阅读更多

ES6 let 与 const | 解构赋值 | Symbol | 定义常量 const

0311lc.com说: ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let 和 const。 let 声明的变量只在 let 命令所在的代码块内有效。 const 声明一个只读的常量,一旦声明,常量的值就不能改变。 代码块内有效  let 是在代码块内有效,var 是在全局范围内有效: 不能重复声明  let 只能声明一次 var 可以声明多次: const 声明一个只读变量,声明之后不允许改变。意味着,一旦声明必须初始化,否则会报错解构赋值 数组=======……阅读更多

ES6 教程

0311lc.com说:目前各大浏览器基本上都支持 ES6 的新特性,其中 Chrome 和 Firefox 浏览器对 ES6 新特性最友好,IE7~11 基本不支持 ES6。 以下是各大浏览器支持情况及开始时间: Chrome 58 Edge 14 Firefox 54 Safari 10 Opera 55 2017 年 1 月 2016 年 8 月 2017 年 3 月 2016 年 7 月 2018 年 8 月 本教程的内容   在 Node.js 环境中运行 ES6 $ nod……阅读更多

vue 面

0311lc.com说:一、对于MVVM的理解? MVVM 是 Model-View-ViewModel 的缩写。 Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。 View 代表UI 组件,它负责将数据模型转化成UI 展现出来。 ViewModel 监听模型数据的改变和控制视图行为、处理用户交互,简单理解就是一个同步View 和 Model的对象,连接Model和View。 在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进……阅读更多

深入理解Vue 组件之间传值

0311lc.com说:一、父组件向子组件传递数据 在 Vue 中,可以使用props向子组件传递数据。 子组件部分: 这是 header.vue 的 HTML 部分,logo 是在 data 中定义的变量。 如果需要从父组件获取 logo 的值,就需要使用props: [‘logo’] 在 props 中添加了元素之后,就不需要在 data 中再添加变量了 父组件部分: 在调用组件的时候,使用 v-bind 将 logo 的值绑定为 App.vue 中定义的变量 log……阅读更多

VUE中如何实现后台管理系统的权限控制 (转载)

0311lc.com说:在项目当中,角色的权限管理是卡了挺久的一个难点。首先我们确定的权限控制分为两大部分,其中根据粒的大小分的更细:1、接口访问的权限控制;2、页面的权限控制:①菜单中的页面是否能被访问;②页面中的按钮(增、删、改)的权限控制是否显示。接口权限就是对用户的校验。正常来说,在用户登录时服务器需要给前台返回一个Token,然后在以后前台每次调用接口时都需要带上这个Token,然后服务端获取到这个Token后进行比对,如果通过则可以访问。现有的做法是在登录成功的回调中将后台返回的To……阅读更多