随笔分类 - 框架
摘要:在 Node.js 社区中,其实不乏通过 Markdown 生成 RESTful API 的框架,按照一定的格式约定好 API 所需要的数据,然后再通过解析 Markdown 文档,将这些关键数据提取出来,最后生成数据库模型和 HTTPS 服务。 YodaOS 作为一个前端操作系统,同样使用了类似的
阅读全文
摘要:最近前端届多端框架频出,相信很多有代码多端运行需求的开发者都会产生一些疑惑:这些框架都有什么优缺点?到底应该用哪个? 作为 Taro 开发团队一员,笔者想在本文尽量站在一个客观公正的角度去评价各个框架的选型和优劣。但宥于利益相关,本文的观点很可能是带有偏向性的,大家可以带着批判的眼光去看待,权当抛砖
阅读全文
摘要:vue vue通过设定对象属性的setter/getter方法来监听数据的变化,通过getter进行依赖收集,而每个setter方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 将数据data变成可观察的(observable) 那么Vue是如何将所有data下面的属性变成可观察的呢? fu
阅读全文
摘要:事件分发 之前讲述了事件如何绑定在document上,那么具体事件触发的时候是如何分发到具体的监听者呢?我们接着上次注册的事件代理看。当我点击update counter按钮时,触发注册的click事件代理。 function dispatchInteractiveEvent(topLevelTyp
阅读全文
摘要:1. currency (货币处理) 使用currency可以将数字格式化为货币,默认是美元符号,你可以自己传入所需的符号,例如我传入人民币: {{num | currency : '¥'}} 2. date (日期格式化) 原生的js对日期的格式化能力有限,ng提供的date过滤器基本可以满足一般
阅读全文
摘要:在Angular网络请求是一个最常见的应用之一,下列我将以 ng-alain 项目为基础描述 Angular 网络请求。 注:示例中代码都以简化的形式出现。 写在前面 Angular发起一个请求再简单不过即使用 HttpClient 类的各种方法,然在开始之前我们应退一小步,先从如何构建一个 Res
阅读全文
摘要:用 Karma 在项目中遇到了坑 最近新换了一个项目,去的时候项目已经做了两个月了,因为前期赶功能,没有对单元测试做要求,CI/CD 的时候也没有强制跑单元测试。所以虽然有用 Angular CLI 自动生成的测试文件,但是基本上都是测试不通过。项目做久了,人员变动多,新来的成员对之前的业务逻辑不清
阅读全文
摘要:如何使用vue写一个组件库 组件以插件的形式引入使用,当然,也可以直接在页面引入组件文件,两者按需使用。 安装插件: import Button from './oyButton'; Button.install = function (vue) { Vue.component(Button.nam
阅读全文
摘要:可以说 react 为Web开发者带来了全新的开发模式,而在各类新功能下,如何达到性能最优仍是我们需要关心的。今天做一次精读尝试,原文地址在文末,话不多说,先呈上一份性能清单: 1. 测量组件级渲染性能 Chrome DevTools Performance 面板 react DevTools pr
阅读全文
摘要:刚开始接触vue的时候,哇nextTick好强,咋就在这里面写就是dom更新之后,当时连什么macrotask、microtask都不知道(如果你也不是很清楚,推荐点这里去看一下,也有助于你更好地理解本文),再后来,写的多了看得多了愈发膨胀了,就想看看这个nextTick到底是咋实现的 一、源码 关
阅读全文
摘要:现在前端开发一般都是前后端分离,mvvm和mvc的开发框架,如Angular、react和vue等,虽然写框架能够使我们快速的完成开发,但是由于前后台分离,给项目seo带来很大的不便,搜索引擎在检索的时候是在网页中爬取数据,由于单页面应用读取到的页面是几乎空白的,无法爬取到任何数据信息。 <!DOC
阅读全文
摘要:vue 路由的原理 说实话,路由我一直也就光顾着用,没认真思考过这个问题,还是那次人家面试问了这个,我才反应过来是应该好好的了解一下了。 无刷新跳转页面,是单页应用的一大优势,用户体验好,加载速度快,vue 路由的跳转就是无刷新的,它有两种形式,可以在定义路由的时候通过 mode 字段去配置,如果不
阅读全文
摘要:在react写应用的时候,难免遇到跨组件通信的问题。现在已经有很多的解决方案。 react本身的Context Redux结合React-redux Mobx结合mobx-react React 的新的Context api本质上并不是React或者Mbox这种状态管理工具的替代品,充其量只是对Re
阅读全文
摘要:简单介绍,使用keep-alive的时候,返回前一页,没有保持滚动条位置。事实上,就算不使用keep-alive,位置也没有被记录。但是,在不使用keep-alive的时候,页面内容会刷新,所以就随他去了……就是这么任性…… 思路 官方有推荐一个scrollBehavior,链接,但是上面标注,只在
阅读全文
摘要:vue的响应式系统 vue 最独特的特性之一,是其非侵入性的响应式系统。数据模型仅仅是普通的JavaScript 对象,而当你修改它们时,视图会进行更新,这使得状态管理非常简单直接,我们可以只关注数据本身,而不用手动处理数据到视图的渲染,避免了繁琐的 DOM 操作,提高了开发效率。 vue 的响应式
阅读全文
摘要:DOM操作 从Prototype.js到风靡全球的jQuery.js,都是在解决浏览器间DOM操作的差异化问题,同时也提供了简洁友好的API,但是随着标准的不断的推进,现在浏览器间的差异化可以说已经没有了,像Github就宣布了弃用jQuery.js,直接使用浏览器提供的DOM操作更新界面。 尽管浏
阅读全文
摘要:数据初始化 vue 实例在建立的时候会运行一系列的初始化操作,而在这些初始化操作里面,和数据绑定关联最大的是 initState。 首先,来看一下他的代码: function initState(vm) { vm._watchers = []; var opts = vm.$options; if(
阅读全文
摘要:1.前端框架的根本意义 1.1 前端框架的好处 最开始学习前端框架的时候(我第一个框架是 react)并不理解框架能带来什么,只是因为大家都在用框架,最实际的一个用途就是所有企业几乎都在用框架,不用框架就 out 了.随着使用的深入我逐渐理解到框架的好处: 1.组件化: 其中以 react 的组件化
阅读全文
摘要:前言 在一个项目中,一些功能会涉及到重要的数据管理,为了确保数据的安全,我们会在项目中加入权限来限制每个用户的操作。作为前端,我们要做的是配合后端给到的权限数据,做页面上的各种各样的限制。 需求 因为这是一个工作上的业务需求,所以对于我来说主要有两个地方需要进行权限控制。 第一个是侧边菜单栏,需要控
阅读全文
摘要:最近做公司新项目用的angular7,中碰到了一个很头疼的问题在绑定对象中的数据改变时,页面视图没有跟新,需点击页面中的时间元素后才会更新。以前使用angularjs也经常碰到类似情况,这种时候一般的方式使使用脏检查(Dirty checking)让angularjs检查绑定到视图上的数据来实现对页
阅读全文