總結開發過程踩到的坑(四)

在平常工做中,時常會碰到各類各樣的坑,有時真的以爲不少時候開發的經驗都是踩坑踩出來的。在通往大牛的道路上,但願本身可以跨越重重阻礙,越走越遠。學會時常總結,不斷提高本身。jquery


本文章旨在總結開發過程當中碰到的容易忘記或者比較重要的坑,一方面加深本身對於該部分的理解,另外一方面但願可以分享給你們,知識在於分享,固然踩過的坑也不例外(滑稽)。ajax

目錄

  1. template新版自定義方法
  2. template嵌套
  3. 關於jsonp
  4. backbone section視圖

1. template新版自定義方法

1.在早先版本中,添加自定義方法是這樣寫的json

template.helper("$getData", function(data){
    //your code
})

使用時,能夠這樣用服務器

{{ $getData(result) }}

2.在新版本中,移除了 helper 方法,經過imports定義方法async

template.defaults.imports.getData = function(data){
    //your code
}

調用方法ide

{{ getData(result) }}

2. template嵌套

在內容比較多的模板中,有時會抽出一些能夠複用的模板,這個時候會用到模板嵌套函數

{{include 'template' $value}}

3. 關於jsonp

以前在使用 jquery 的 jsonp 時,將 async 置爲同步時,發現並無生效,後來纔想到:jsonp

jsonp 和 ajax 本質上實際上是不一樣的,ajax 是經過 XMLHttpRequest 來請求數據的。
可是 jsonp 則是經過動態添加 script 標籤獲取服務器的 js。this

如何解決這個問題?code

能夠將代碼寫入 jsonp 請求成功的回調函數中

4. backbone section視圖

backbone 經過 router/history 實現的路由,在跳轉到新的視圖時,若是當前視圖沒有被建立,則會在頁面中建立一個新的 section,因此爲了不多個視圖的干擾,想要獲取當前視圖的元素,必定要加 this 獲取,如:

this.$(el).addClass("hide");
相關文章
相關標籤/搜索