Handlebars 和 angularjs 之间的区别
2016-07-11 17:25
225 查看
handlebarsjs算不上框架,只是一种js模板引擎,是模板库,模板库的主要作用是:你想要生成某一大片有一定规律的界面,比如商品详情,不同商品之间差的只是名称,价格,图片,介绍这些,但是结构一样的,那我们就可以给他预先写个界面模板,里面凡是有可能变的地方,用变量代替,然后每次拿不同的数据代入,生成最终的结果HTML。一般的模板库都是静态模板。
angularjs是一款优秀的前端JS框架,已经被用于Google的多款产品当中。它有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。它包含的东西很多,其中,模板这一块也有类似的东西,但它的界面模板不仅仅是模板本身,还包括一些配置,这些配置能被特定的方式解析,从而与数据层进行动态关联。所以这是动态模板。
静态模板跟动态模板的区别:
var _name = "<div>{{name}}</div>";
var data = {name:zhangsan};
var getName = compile(_name, data);
静态的只会做一次代入,也就是生成之后,这个getName就只是一个字符串而已了。当result已经被加到界面之后,你的data再怎么变化,界面也不会变了,除非自己再调用一次compile。
但是动态模板则不同,compile之后的getName加入界面后,跟data建立一种动态关联,data发生变化时,它的界面还会跟着变。
angularjs是一款优秀的前端JS框架,已经被用于Google的多款产品当中。它有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。它包含的东西很多,其中,模板这一块也有类似的东西,但它的界面模板不仅仅是模板本身,还包括一些配置,这些配置能被特定的方式解析,从而与数据层进行动态关联。所以这是动态模板。
静态模板跟动态模板的区别:
var _name = "<div>{{name}}</div>";
var data = {name:zhangsan};
var getName = compile(_name, data);
静态的只会做一次代入,也就是生成之后,这个getName就只是一个字符串而已了。当result已经被加到界面之后,你的data再怎么变化,界面也不会变了,除非自己再调用一次compile。
但是动态模板则不同,compile之后的getName加入界面后,跟data建立一种动态关联,data发生变化时,它的界面还会跟着变。
相关文章推荐
- Angularjs 跨域请求
- Ruby中require、load、include、extend的区别介绍
- Ruby中的p和puts的使用区别浅析
- Ruby中的block、proc、lambda区别总结
- Redis和Memcached的区别详解
- Lua中调用函数使用点号和冒号的区别
- Lua中关于求模与求余的区别介绍
- TMP、TEMP和TMP文件区别解析
- C#基础语法:结构和类区别详解
- 深入c# 类和结构的区别总结详解
- C#中string.Empty和null的区别详解
- sqlserver和oracle中对datetime进行条件查询的一点区别小结
- 网页中Span和Div的区别
- 大家看了就明白了css样式中类class与标识id选择符的区别小结
- C#中类与结构的区别实例分析
- SQL 中having 和where的区别分析
- c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的区别详解
- MySQL Antelope和Barracuda的区别分析
- Rails Routes中new、collection、member的区别浅析
- POST与GET方法的区别简要分析