裴波那契数列

摘要: 斐波那契数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 求斐波那契数列第 n 项的值: 方法一:递归 方法二:循环 用 Memoization 函数优化计算: 阅读全文
posted @ 2018-09-13 14:24 caihg 阅读(992) 评论(0) 推荐(0) 编辑

vue v-model 的注意点

摘要: 在使用表单元素 input 的 v-model 指令时,碰到一个问题: 如上图,修改 input 的内容,以便随时显示;但显示时明显慢一步。 稍微熟悉 vue 就明白,这是因为给 obj 新增了属性 x,而 x 并不是响应式的。 输出 obj 也可以观察到: val 有 getter/setter, 阅读全文
posted @ 2018-03-28 18:13 caihg 阅读(814) 评论(0) 推荐(0) 编辑

react-router v4 学习实践

摘要: 最近学习了 react-router v4,根据官方 API 文档和网上资源做了一个简单的路由示例。 先用官方的工具 create-react-app 初始化一个 react 项目模板,再根据自己的需要修改。 要实现的路由: 1. 登录页(/login) 2. 主页(/home):一级导航 3. 商 阅读全文
posted @ 2017-07-03 16:52 caihg 阅读(806) 评论(0) 推荐(0) 编辑

Vue2 + Koa2 实现后台管理系统

摘要: 看了些 koa2 与 Vue2 的资料,模仿着做了一个基本的后台管理系统,包括增、删、改、查与图片上传。 工程目录: 由于 koa2 用到了 async await 语法,所以 node 的版本需要至少 v7.6.0,我目前用的是 v7.9.0 1. 根据 package.json 安装好依赖: { 阅读全文
posted @ 2017-05-25 14:57 caihg 阅读(11235) 评论(3) 推荐(2) 编辑

js多维数组扁平化

摘要: 数组扁平化,就是将多维数组碾平为一维数组,方便使用。 一:例如,一个二维数组 var arr = ['a', ['b', 2], ['c', 3, 'x']],将其扁平化: 1. 通过 apply 借用数组的 concat 方法: [].concat.apply([], arr); 结果如下: jQ 阅读全文
posted @ 2017-03-08 14:48 caihg 阅读(1523) 评论(0) 推荐(0) 编辑

模拟浏览器后退事件

摘要: 在工作中碰到一个需求:点击浏览器的后退按钮时,需要判断当前页面的表单数据是否已保存;如果没保存,就给出提示。但浏览器并没有后退事件,这个项目也没有用什么 MV** 之类的框架或库,用的是 jQuery,于是只能尝试模拟浏览器后退事件。 用的是 H5 中的 pushState 与 popstate,代 阅读全文
posted @ 2016-12-29 16:03 caihg 阅读(656) 评论(0) 推荐(0) 编辑

Vue.js 递归组件实现树形菜单

摘要: 最近看了 Vue.js 的递归组件,实现了一个最基本的树形菜单。 main.js 作为入口: 它引入了一个组件 main.vue: subMenuData1, subMenuData2 存放子菜单数据,可以从服务器获取,以实现动态加载。 该文件引入了树形组件 treeMenu.vue: 效果图: 示 阅读全文
posted @ 2016-12-21 16:15 caihg 阅读(36941) 评论(5) 推荐(2) 编辑

Vue 2.0 + Vue Router + Vuex

摘要: 用 Vue.js 2.x 与相配套的 Vue Router、Vuex 搭建了一个最基本的后台管理系统的骨架。 当然先要安装 node.js(包括了 npm)、vue-cli 项目结构如图所示: assets 中是静态资源,components 中是组件(以 .vue 为后缀名的文件),store 中 阅读全文
posted @ 2016-12-09 16:38 caihg 阅读(2213) 评论(0) 推荐(1) 编辑

Ext.js添加子组件

摘要: Ext框架提供了很多api,对于不熟悉的人来说,api的释义有时不够明了。最近碰到了添加子组件的需求,特记录下来。 1. 例如,有一个窗体组件: 现在要为其添加一个字段“学校分类”,变成如下所示: 示例代码如下: 用 add 为组件添加新成员,再用 doLayout 方法更新视图。 2. 为grid 阅读全文
posted @ 2016-04-29 15:41 caihg 阅读(381) 评论(0) 推荐(0) 编辑

js数组去重的hash方法

摘要: 对于 JavaScript 数组去除重复项,现在有多种方法,其中一种是hash,如下: if (!Array.prototype.unique) { Array.prototype.unique = function () { var hash = {}, result = [], item; fo 阅读全文
posted @ 2016-03-10 15:09 caihg 阅读(5278) 评论(1) 推荐(1) 编辑