backbone.js

前端架构 101(四):MVC 的不足与 Flux 的崛起

霸气de小男生 提交于 2020-08-19 03:31:56
李熠:前端架构 101(一):在谈论它们之前我们需要达成的共识 ​ zhuanlan.zhihu.com 李熠:前端架构 101(二): MVC 初探 ​ zhuanlan.zhihu.com 李熠:前端架构 101(三):MVC 启示录:模块的职责,作用域和通信 ​ zhuanlan.zhihu.com MVC 的不足 事件 在前几篇中,我演示了一个前端 Backbone.js MVC 框架用于解决实际问题的例子。但 MVC 依然存在几个问题 不可预测:当一个事件发生之后,你并不知道会有谁响应这个事件,是单个对象还是多个对象会响应这个事件 级联修改:当一个事件发生之后,A 组件在接收到事件之后在响应的过程中,还可能发出其他的事件触发后续的修改,你并不知道这个事件会在何处结束,会造成什么样的结果。这也和上一条「不可预测」相对应 响应顺序:如果存在多个对象响应同一个事件的话,有时候对响应的顺序是有要求的,某些变更不可以出现在其他的变更之前 有条件响应:对于传播方而言,并非希望所有的时间都一视同仁的广播出去;对于消费方而言,也并不希望一视同仁的响应所有的事件 你可能会认为事件机制存在的问题是否只存在于 Backbone.js 中,那 AngularJS 这个 MVC 框架会不会好一些呢? 首先 AngularJS(AngularJS 代指 1.x 版本,Angular 代指 2

Making Spring/Tomcat compatible with HTML5 pushState

大城市里の小女人 提交于 2020-06-01 08:02:21
问题 I have a single-page web app that's using Backbone.js client routing with pushState. In order to get this to work, I have to tell my server (Java, Spring 3, Tomcat) which URLs should be resolved on the server (actual JSP views, API requets), and which should simply be sent to the index page to be handled by the client. Currently I'm using an InternalResourceViewResolver to simply serve JSP views that match the name of the URL request. Since client-side URLs don't have a view on the server,

Making Spring/Tomcat compatible with HTML5 pushState

谁说我不能喝 提交于 2020-06-01 08:02:06
问题 I have a single-page web app that's using Backbone.js client routing with pushState. In order to get this to work, I have to tell my server (Java, Spring 3, Tomcat) which URLs should be resolved on the server (actual JSP views, API requets), and which should simply be sent to the index page to be handled by the client. Currently I'm using an InternalResourceViewResolver to simply serve JSP views that match the name of the URL request. Since client-side URLs don't have a view on the server,

What does the “r” mean in chrome dev tools when you're looking at a Backbone Object?

心已入冬 提交于 2020-04-30 01:56:41
问题 I'm learning backbone and using chrome devl tools to look at objects in my browser. What does the 'r' mean? 回答1: It's the name of the constructor used to create the model object. However in this case the Backbone code has been minified. If you create an instance of the base Model class it will be logged like this: If you look at the Backbone source code you can find the constructor definition: var Model = Backbone.Model = function(attributes, options) { However, if your code is compressed the

What does the “r” mean in chrome dev tools when you're looking at a Backbone Object?

我是研究僧i 提交于 2020-04-30 01:56:25
问题 I'm learning backbone and using chrome devl tools to look at objects in my browser. What does the 'r' mean? 回答1: It's the name of the constructor used to create the model object. However in this case the Backbone code has been minified. If you create an instance of the base Model class it will be logged like this: If you look at the Backbone source code you can find the constructor definition: var Model = Backbone.Model = function(attributes, options) { However, if your code is compressed the

百度技术沙龙第 23 期 一站式的前端开发框架

折月煮酒 提交于 2020-04-13 20:12:15
【今日推荐】:为什么一到面试就懵逼!>>> 本文作者:HelloDeveloper 在 2 月 18 日由百度主办、InfoQ 策划组织实施的第 23 期百度技术沙龙活动上,来自百度前端通用组技术负责人雷志兴(@berg)、豌豆实验室前端架构师陈广琛(@CatChen)和赵望野(@赵望野)分别分享了各自在前端开发技术上取得的成果及经验,话题涉及“前端集成解决方案”,以及“豌豆荚的 Web 界面”等。本文将对他们各自的分享做下简单的回顾,同时提供相关资料的下载。 主题一:前端集成解决方案(微盘下载讲稿) 来自百度的高级工程师,前端通用组技术负责人雷志兴第一个为大家分享,演讲主要包括病疾已久的前端架构、体系结构和集成开发环境等内容。目前前端病疾主要包括: 开发慢 运行慢 协作慢 产品上线慢 雷志兴重点讲述了贯穿开发流程的体系结构和集成开发环境,他提到,工具只能解决表面问题,而且多种工具往往不能很好地与系统集成,增加了工程师学习和使用的成本。针对这些问题,百度实现了一个完整的自动化构建系统,通过本地化的应用程序,基于一套规范的开发模式解决了上述矛盾——保证开发时系统的模块化,在上线前自动优化静态资源,实现维护和运行的双赢。接着,他通过 JavaScript 和 CSS 代码片段说明了体系结构的基本特性: 简化开发,提高协作和沟通效率 业务型的框架 更多、更好的库 此外,本地模拟也很重要

百度技术沙龙第 23 期 一站式的前端开发框架

匆匆过客 提交于 2020-04-11 01:46:02
本文作者:HelloDeveloper 在 2 月 18 日由百度主办、InfoQ 策划组织实施的第 23 期百度技术沙龙活动上,来自百度前端通用组技术负责人雷志兴(@berg)、豌豆实验室前端架构师陈广琛(@CatChen)和赵望野(@赵望野)分别分享了各自在前端开发技术上取得的成果及经验,话题涉及“前端集成解决方案”,以及“豌豆荚的 Web 界面”等。本文将对他们各自的分享做下简单的回顾,同时提供相关资料的下载。 主题一:前端集成解决方案(微盘下载讲稿) 来自百度的高级工程师,前端通用组技术负责人雷志兴第一个为大家分享,演讲主要包括病疾已久的前端架构、体系结构和集成开发环境等内容。目前前端病疾主要包括: 开发慢 运行慢 协作慢 产品上线慢 雷志兴重点讲述了贯穿开发流程的体系结构和集成开发环境,他提到,工具只能解决表面问题,而且多种工具往往不能很好地与系统集成,增加了工程师学习和使用的成本。针对这些问题,百度实现了一个完整的自动化构建系统,通过本地化的应用程序,基于一套规范的开发模式解决了上述矛盾——保证开发时系统的模块化,在上线前自动优化静态资源,实现维护和运行的双赢。接着,他通过 JavaScript 和 CSS 代码片段说明了体系结构的基本特性: 简化开发,提高协作和沟通效率 业务型的框架 更多、更好的库 此外,本地模拟也很重要,这涉及到自动“编译”

Bind a view to collections in backbone.js

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-22 08:51:10
问题 I'm semi-new to backbone. I'm trying to bind a collection to a view so that when a new model is added to a collection, the view is updated. I think when you do this with models you can bind to the model's change event. But how do you do the same with collections? App.Views.Hotels = Backbone.View.extend({ tagName: 'ul', render: function() { this.collection.each(this.addOne, this); var floorplanView = new App.Views.Floorplans({collection:floorplanCollection}); $('.floorplans').html