摘要: module 由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。 为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter。 st 阅读全文
posted @ 2018-04-13 21:47 DK.Lan 阅读(104) 评论(0) 推荐(0)
摘要: Action 先引用官方文档的说法 Action 类似于 mutation,不同在于: Action 提交的是 mutation,而不是直接变更状态。 Action 可以包含任意异步操作。 实现上是没问题,action 调用 mutation,但关于异步要放到 action 的说法,个人观点是没有这 阅读全文
posted @ 2018-04-13 21:47 DK.Lan 阅读(310) 评论(0) 推荐(0)
摘要: Vuex——Mutation 更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。Vuex 中的 mutation 非常类似于事件,每个 mutation 的方法都会有一个 state 的参数在 commit 的时候当回调形参传过来,该形参就是 store.state Mut 阅读全文
posted @ 2018-04-13 21:46 DK.Lan 阅读(225) 评论(0) 推荐(0)
摘要: getter getters 可以理解为 vuex 中的 computed,和 vue 中的 computed 类似,都是用来计算 state 然后生成新的数据 ( 状态 ) 的。 在上面的案例当中,如果想得到的 state 最终为一个带了币种的金额,只要给一个统一的出口,返回统一的数据模式。 简单 阅读全文
posted @ 2018-04-13 21:46 DK.Lan 阅读(317) 评论(0) 推荐(0)
摘要: Vuex——state访问 方法一、直接获取 方法二、通过 computed 的计算属性直接赋值 方法三、通过 mapState 的计算属性直接赋值 方法四、通过 mapState 的数组来赋值 方法五、对象展开运算符 阅读全文
posted @ 2018-04-13 21:45 DK.Lan 阅读(141) 评论(0) 推荐(0)
摘要: Vuex 在介绍 Vuex 之前,我先抛出一个问题,如下图(点击图片可查看大图) 请原谅并忽略手绘图的粗糙,主要描述的结构是: 组件A 组件B + 组件B1 事件:Event1 事件:Event2 事件:Event3 + 组件B2 事件:Event1 事件:Event2 事件:Event3 组件C 阅读全文
posted @ 2018-04-13 21:44 DK.Lan 阅读(90) 评论(0) 推荐(0)
摘要: 路由 通过 URL 映射到对应的功能实现,Vue 的路由使用要先引入 vue router.js 基本路由入门 定义 component 定义路由规则 使用 html Hello VueRouter <! 使用 router link 组件来导航. <! 通过传入 属性指定链接. <! <route 阅读全文
posted @ 2018-04-13 21:43 DK.Lan 阅读(81) 评论(0) 推荐(0)
摘要: 过渡效果 SPA 中组件的切换有一种生硬的隐藏显示感觉,为了更好的用户体验,让组件切换时淡出淡入,Vue 提供了专门的组件 transition。 过滤效果应用场景 条件渲染 (使用 v if) 条件展示 (使用 v show) 动态组件 组件根节点 过渡状态 enter:定义进入过渡的开始状态。在 阅读全文
posted @ 2018-04-13 21:42 DK.Lan 阅读(219) 评论(0) 推荐(0)
摘要: 自定义指令 在某些情况下,Vue 提供给我们的指令是非常不够的,比如有一个输入框需要在点击的时候能弹出日期控件,这个功能 Vue 并不支持,但 Vue 支持我们自定义指令。 自定义指令和定义组件的方式很类式,也是有全局指令和局部指令之分 全局指令 局部指令 "效果预览" 钩子函数 钩子函数可以理解成 阅读全文
posted @ 2018-04-13 21:41 DK.Lan 阅读(268) 评论(0) 推荐(0)
摘要: 组件 组件(Component)是前端在单页面应用(SPA)上最好的一种实现方式,把所有功能模块拆解成单独的组件,每个组件都有独立的作用域,且还可以相互通信 认识单页面应用(SPA) 在传统的页面之间跳转,是通过刷新,重新渲染一个页面而实现,在渲染的过程中势必要加载外部资源文件,页面在服务器中渲染出 阅读全文
posted @ 2018-04-13 21:39 DK.Lan 阅读(131) 评论(0) 推荐(0)
摘要: 组件通信 本教程只讲 Vue 本身的组件通信,不涉及借用第三方如 Vuex 之类的插件。组件通信主要分为三个部分: 父组件向子组件通信:父组件向子组件传参或者是父组件调用子组件的方法 子组件向父组件通信:子组件向父组件传参或者是子组件调用父组件的方法 兄弟组件通信:兄弟组件之间相互传参或调用 建议不 阅读全文
posted @ 2018-04-13 21:39 DK.Lan 阅读(88) 评论(0) 推荐(0)
摘要: 事件修饰符 对事件添加一些通用的限制,比如阻止事件冒泡,Vue 对这种事件的限制提供了特定的写法,称之为修饰符 用法:v on:事件.修饰符 "事件修饰符效果预览" 按键修饰符 "按键修饰符效果预览" 表单修饰符 "表单修饰符效果预览" 阅读全文
posted @ 2018-04-13 21:38 DK.Lan 阅读(107) 评论(0) 推荐(0)
摘要: 实例元素 el 实例元素指的是 Vue 实例化时编译的容器元素,或者说是 Vue 作用的元素容器 也可以为实例元素指定其它选择器 可以有多个实例元素 如果有多个相同的实例元素则只有第一个起效 也可以在实例化的时候不指定实例元素,后面用 $mount() 手动进行挂载 可以通过实例获取实例元素 数据对 阅读全文
posted @ 2018-04-13 21:37 DK.Lan 阅读(79) 评论(0) 推荐(0)
摘要: 模版语法 模版语法已成为前端在数据驱动模式上 V 层最好的实现。 插值 "插值效果预览" 缩写 v bind 缩写 v on 缩写 指令 指令(Directive),换句话说就是元素的自定义属性,在 Vue 中是以 v 为前缀的自定义属性,属性值为对象或 js 表达式 指令类型用法 v textst 阅读全文
posted @ 2018-04-13 21:36 DK.Lan 阅读(90) 评论(0) 推荐(0)
摘要: 绑定 class 对象语法 v bind:class="{样式名: 结果为 boolean 的表达式}",表达式结果为 true,则元素 class="样式名",否则元素 class="" 渲染结果 也可以写成 渲染结果 还可以通过计算属性的方式 渲染结果 数组语法 v bind:class="[] 阅读全文
posted @ 2018-04-13 21:36 DK.Lan 阅读(117) 评论(0) 推荐(0)
摘要: 认识 Vue 关于 Vue 的描述有不少,不外乎都会拿来与 Angular 和 React 对比,同样头顶 MVVM 双向数据驱动设计模式光环的 Angular 自然被对比的最多,但到目前为止,Angular 在热度上已明显不及 Vue,性能已成为最大的诟病。 在我看来,Vue 和 Angular 阅读全文
posted @ 2018-04-13 21:35 DK.Lan 阅读(107) 评论(0) 推荐(0)
摘要: 认识 soket.io 如果对 socket 没有了解的先 "复习下" 。 soket.io 可以理解为对 WebSocket 的一种封装。好比前端的 jQuery 对原生 javascript 的封装。 soket.io 依靠事件驱动的模式,灵活的使用了自定义事件和调用事件来完成更多的场景,不必依 阅读全文
posted @ 2018-04-13 21:25 DK.Lan 阅读(194) 评论(0) 推荐(0)
摘要: 重温 HTTP 协议 HTTP 协议可以总结几个特点: 一次性的、无状态的短连接:客户端发起请求、服务端响应、结束。 被动性响应:只有当客户端请求时才被执行,给予响应,不能主动向客户端发起响应。 信息安全性:得在服务器添加 SSL 证书,访问时用 HTTPS。 跨域:服务器默认不支持跨域,可在服务端 阅读全文
posted @ 2018-04-13 21:24 DK.Lan 阅读(175) 评论(0) 推荐(0)
摘要: Token 在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。一般我们所说的的 token 大多是指用于身份验证的 token Token的特点 随机性 不可预测性 时效性 无状态、可扩展 跨域 基于Token的身份验证场景 1. 客户端使用用户名和密码请求登录 2. 服务端收到请求 阅读全文
posted @ 2018-04-13 21:23 DK.Lan 阅读(270) 评论(0) 推荐(0)
摘要: Session Session 是一种记录客户状态的机制,不同的是 Cookie 保存在客户端浏览器中,而 Session 保存在服务器上的进程中。 客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是 Session。客户端浏览器再次访问时只需要从该 Session 中 阅读全文
posted @ 2018-04-13 21:21 DK.Lan 阅读(165) 评论(0) 推荐(0)
摘要: 操作 MongoDB 官方 api 操作 MySql 阅读全文
posted @ 2018-04-13 21:20 DK.Lan 阅读(99) 评论(0) 推荐(0)
摘要: 文件上传 body parser 并不技术文件上传,所以这里要用到另一个第三方模块 multer 安装 multer 使用前先定义上传的路径 单文件上传 多文件上传 原生js jquery 全局本地存储 阅读全文
posted @ 2018-04-13 21:17 DK.Lan 阅读(119) 评论(0) 推荐(0)
摘要: 过滤器 在进入某个路由前先经过一个过滤逻辑,这个称之为过滤器 简单使用 运行规则 访问 首先会进入过滤器方法 filter next(),不带任选参数,表示会直接进入目标路由,执行路由逻辑 next(''),带参数,表示不会进入目标路由,并抛出错误。 全局使用 use 表示进入所有目标路由前都会先进 阅读全文
posted @ 2018-04-13 21:16 DK.Lan 阅读(516) 评论(0) 推荐(0)
摘要: Async Node.js 是一个异步机制的服务端语言,在大量异步的场景下需要按顺序执行,那正常做法就是回调嵌套回调,回调嵌套太多的问题被称之回调地狱。 Node.js 为解决这一问题推出了异步控制流 ———— Async Async/Await Async/Await 就 ES7 的方案,结合 E 阅读全文
posted @ 2018-04-13 21:15 DK.Lan 阅读(130) 评论(0) 推荐(0)
摘要: Express Express 是一个第三方模块,对原生模块封装了一套更灵活、更简洁的应用框架,其在 Node.js 环境的地位和作用好比 jQuery 在前端的地位和作用。 路由 在 BS 架构中,路由的概念都是一样的,可理解为根据客户端请求的 URL 映射到不同的方法实现,更多的一般都是针对 U 阅读全文
posted @ 2018-04-13 21:15 DK.Lan 阅读(106) 评论(0) 推荐(0)
摘要: Request 一个第三方的模块,可用于发起 http 或 https 请求,可理解成服务端的 ajax 请求。可用于代简单的服务器代理,用法和 ajax 类似。 在使用前需要先安装 GET 请求 多参数设置 POST 请求 request支持application/x www form urlen 阅读全文
posted @ 2018-04-13 21:13 DK.Lan 阅读(293) 评论(0) 推荐(0)
摘要: 路由 在 BS 架构中,路由的概念都是一样的,可理解为根据客户端请求的 URL 映射到不同的方法实现,更多的一般都是针对 URL 中的路径,或者是参数,又或者是锚点这些信息进行映射。 应用 场景 1. 注册一个账户 [post] http://localhost:88/register 2. 注册成 阅读全文
posted @ 2018-04-13 21:12 DK.Lan 阅读(116) 评论(0) 推荐(0)
摘要: Stream 介绍 Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出)。往往用于打开大型的文本文件,创建一个读取操作的数据流。所谓大型文本文件,指的是文本文件的体积很大,读取操 阅读全文
posted @ 2018-04-13 21:07 DK.Lan 阅读(76) 评论(0) 推荐(0)
摘要: http 模块 所有后端动态语言要想运行起来,都得先搭建服务器。Node.js 搭建服务器需要用到一个原生的模块 http。 1. 加载 http 模块 2. 调用 http.createServer() 方法创建服务,方法接受一个回调函数,回调函数中有两个参数,第一个是请求体,第二个是响应体。 3 阅读全文
posted @ 2018-04-13 21:06 DK.Lan 阅读(204) 评论(0) 推荐(0)
摘要: 认识 Node.js Node 是一个服务器端 JavaScript 解释器 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效 Node.js 的包管理器 npm,是全球最大的开源库生 阅读全文
posted @ 2018-04-13 21:05 DK.Lan 阅读(111) 评论(0) 推荐(0)