在日常工作中,时常会碰到各种各样的坑,有时真的觉得很多时候开发的经验都是踩坑踩出来的。在通往大牛的道路上,希望自己能够跨越重重阻碍,越走越远。学会时常总结,不断提升自己。
本文章旨在总结开发过程中碰到的容易忘记或者比较重要的坑,一方面加深自己对于该部分的理解,另一方面希望能够分享给大家,知识在于分享,当然踩过的坑也不例外(滑稽)。
目录
- template新版自定义方法
- template嵌套
- 关于jsonp
- backbone section视图
1. template新版自定义方法
1.在早先版本中,添加自定义方法是这样写的
template.helper("$getData", function(data){
//your code
})
使用时,可以这样用
{{ $getData(result) }}
2.在新版本中,移除了 helper 方法,通过imports定义方法
template.defaults.imports.getData = function(data){
//your code
}
调用方法
{{ getData(result) }}
2. template嵌套
在内容比较多的模板中,有时会抽出一些可以复用的模板,这个时候会用到模板嵌套
{{include 'template' $value}}
3. 关于jsonp
之前在使用 jquery 的 jsonp 时,将 async 置为同步时,发现并没有生效,后来才想到:
jsonp 和 ajax 本质上其实是不同的,ajax 是通过 XMLHttpRequest 来请求数据的。
但是 jsonp 则是通过动态添加 script 标签获取服务器的 js。
如何解决这个问题?
可以将代码写入 jsonp 请求成功的回调函数中
4. backbone section视图
backbone 通过 router/history 实现的路由,在跳转到新的视图时,如果当前视图没有被创建,则会在页面中创建一个新的 section,所以为了避免多个视图的干扰,想要获取当前视图的元素,一定要加 this 获取,如:
this.$(el).addClass("hide");