现代前端技术解析-第4章 现代前端交互框架

《现代前端技术解析》第4章阅读笔记


  • 笔记章节目录

  • 2019/11/11

4.1 直接DOM操作时代

DOM的propertyattribute的区别:property通常是指DOM元素对象的属性,比如id、style等自有的、通用的属性(其实是DOM对象的属性);而attribute是指HTML标签的文本标记属性,一般用于自定义的属性。(p170)

createDocumentFragmentcreateElement的区别:createDocumentFragment创建节点的时候可以将多个文档的片段先缓存起来,最后通过父节点的appendChild()方法一次性插入到DOM中,可以减少DOM的操作次数。(p170)

  • 2019/11/12

AJAX跨域请求: AJAX跨域请求时默认不会带有Cookie信息,需要在请求头添加xhrFields:{withCredentials:true}才能将Cookie发送到浏览器。(p173)

**正确使用jQuery:**p175

4.2 MV*交互模式

*MV:**主要有MVC、MVP、MVVM。(p176-184)

  • 2020/02/17

MVVM的执行逻辑: 使用Directive识别渲染和绑定事件。具体逻辑Demo:p183

数据变更检测: 双向数据绑定中的一个方面,通常是指双向数据绑定中Model/ViewModel(数据)修改触发View修改的一种实现方法。(p185)

实现数据变更检测的方法(4种): p185-p193

  • 手动触发绑定;
  • 脏数据检测机制;
  • 前端数据对象劫持(Hijacking);
  • ES6 Proxy;

4.3 Virtual DOM交互模式

  • 2020/02/18

一般MVVM的缺点: 当VirtualModel改变时,MVVM会重新渲染整个被改变的部分,不管那些没有改变的部分,没有减少甚至增加了DOM操作。

Vritual DOM: Virtual DOM是一个能够直接描述一段HTML DOM结构的JS对象,浏览器可以根据他的结构按照一定的规则创建出确定的唯一的HTML DOM结构。(p196)

Virtual DOM的优点: 减少了其他框架对DOM的扫描或操作次数,并且在数据发生改变之后只在合适的地方根据JS对象来进行最小化的页面DOM操作,避免大量重新渲染。(p196)

Virtual DOM核心操作步骤:(p196)

  • 创建Virtual DOM;
  • 对比操作前后的DOM生成差异化的Virtual DOM(多叉树结构的遍历算法);
  • 将差异化的Virtual DOM渲染到页面上;

4.4 前端MNV*时代

MNV*模式简介: Model-NativeView-*,*可以代表Virtual DOM或者ViewModel等,也可以使用Controller来实现调用的方式(相当于用NativeView代替了之前的View)。目的是实现完全不需要DOM操作的模式。(p201)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于HTML,CSS,JAVASCRIPT的简洁灵活的流行前端框架交互组件集。 适用于任何场景,适用于每一个人 需要理由来爱上Bootstrap么?那就请接着向下看。 由匠人建,为匠人用 和您一样,我们乐于创造出色的web应用,于是想帮助更多象我们一样的匠人更为高效快捷地构建产品。Bootstrap因此而生。 适应各种技术水平 Bootstrap适应不同技术水平的从业者,无论是设计师还是程序员,大牛还是菜鸟。既能用来开发简单的小东西,也能构造更为复杂的应用。 跨设备,跨浏览器 最初设想中的Bootstrap只支持现代浏览器,不过新版本已经能支持所有主流浏览器(甚至包括IE7)。从Bootstrap 2开始,提供对平板和智能手机的支持。 12列栅格布局 栅格系统不是万能的,不过在应用的核心层有一个稳定和灵活的栅格系统确实可以让开发变得更简单。可以选用内置的栅格或是自己手写。 响应式设计 从Bootstrap 2开始,提供完整的响应式特性。所有的组件都能根据分辨率和设备灵活缩放,从而提供一致性的用户体验。 样式化的文档 与其他前端工具箱不同,Bootstrap优先设计了一个样式化的使用指南,不仅用来介绍特性,更用以展示最佳实践,应用以及代码实例。 不断完善的库 尽管只有10kb(gzip压缩后),Bootstrap却仍是最完备的前端工具箱之一,提供了几十个全功能的随时可用的组件。 定制的jQuery插件 一个出色的组件设计岂能没有易用易扩展的人机界面?Bootstrap为此提供了定制的jQuery内置插件。 用LESS构建 当传统的枯燥CSS写法止步不前时,LESS横空出世了。LESS中使用变量,嵌套,操作,混合编码,花费很小成本却让书写CSS更快更灵活。 HTML5 支持HTML5标签和语法 CSS3 逐步改进组件达到最终效果 开源 全部托管于 GitHub. Twitter制造 由经验丰富的工程师和设计师奉献

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值