干了什么
学习了underscore的template模版引擎。照着backbone官方文档中todo案例敲了遍。对着文档分析代码。
遇到什么问题:
看的时候对collection不理解,underscore的_invoke没看懂。没有组件化的思想,提前没有对todo案例分析每一块的功能,具体怎么实现,只是从上往下写。知道报错是因为进行了异步处理,把数据传到了服务器端却没有写服务器端的地址(因为案例中是用localstorge缓存,并且与服务器端有通信)。
学到了什么
_invoke是对list循环执行method name操作,后面是可选参数。
save把数据保存到服务端
所以我不想进行异步操作的话就要用set保存数据,不要用save。create也是,换成add.
template模版分三种_.template 支持以下三种模板:
<% %> - to execute some code (执行一些代码)
<%= %> - to print some value in template (在模板中打印或者说成输出一些值)
<%- %> - to print some values HTML escaped (打印一些HTML转义的值)
解释:
<% %> 里包裹的是一些可执行的 JavaScript 语句,比如 if-else 语句,for 循环语句,等等。
<%= %> 会打印传入数据相应的 key 的值,
<%- %> 和前者相比,多了步 HTML 实体编码的过程,可以有效防止 XSS 攻击。