摘要: Meteor应用的UI状态该如何存放?这里介绍几种方法。SessionSession是meteor提供的一个前端全局reactive数据源。使用方法简单,功能也相对简陋,适用于页面结构简单的单页应用。Local Collection前端通过new Mongo.Collection(null)创建一个... 阅读全文
posted @ 2015-09-03 23:40 我不是照耀 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 所谓延迟补偿,即在前端执行某项数据变更业务之后,不等后端返回执行结果,前端先行模拟执行,以尽快呈现结果给用户。如果服务端返回执行成功,则前端不需要进行任何变更渲染。如果服务端返回执行失败,则前端根据后端返回信息进行修正渲染。延迟补偿得以实现的基础,是前后端数据协作机制。具体来说,原本整个数据变更流程... 阅读全文
posted @ 2015-09-03 23:14 我不是照耀 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 对于Meteor应用来说,模型是不透明的,即,虽然在后端进行建模和模型操作、业务操作控制,前端仍然需要了解模型结构以正确进行前端业务。前端与数据的关系,主要有变更和查询两类。前端若要执行数据变更,需要调用后端提供的methods(参考)。前端对数据的查询,主要通过pub/sub模型来实现。后端可以有... 阅读全文
posted @ 2015-09-03 23:05 我不是照耀 阅读(568) 评论(0) 推荐(0) 编辑
摘要: 关于客户端进行数据变更操作,meteor提供了两套机制:客户端CRUD+服务端deny/alllow服务端methodsCRUD操作的层次是在数据模型级别,而methods的操作层次是在业务级别,这也对应了它们的权限控制级别。个人认为,在客户端直接进行CRUD操作(数据模型级别的操作),表面上灵活很... 阅读全文
posted @ 2015-09-03 22:51 我不是照耀 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 受React组件思想启发,本文讨论在Meteor客户端应用组件化思想,以Spacebar模板语言为例。所谓前端组件(我的定义),是一组html代码以及相关样式、行为的封装。它可被复用,通过传递参数进行初始化,并可以调用其定义的方法对其进行控制。并且,其状态,样式都是局部封装的,不会扩散并影响全局。典... 阅读全文
posted @ 2015-09-03 22:47 我不是照耀 阅读(377) 评论(0) 推荐(0) 编辑