聽說ArtTemplate是騰訊的,感受這東西真不錯,使用方便,用起來很簡單,哈哈。騰訊也不徹底只是坑爹啊。前端
使用是,正常引入js,這個天然不用說。這東西啥時候使用呢?我以爲這東西不單單是語法上,連使用的場景也跟JSTL很類似。java
當咱們使用Ajax向後端獲取數據之後,在渲染網頁時,若是這個網頁元素要跟隨者你的數據的不一樣而不一樣,那此時就能夠很方便的使用ArtTemlate來實現,從而代替大量的使用操做DOM的方式來修改頁面(固然若是簡單的變化,直接操做DOM就行了,更快,技術嘛,都有它的應用場景,切不可生搬硬套!)。後端
簡單說一下我使用的時候,是一個怎樣的流程。測試
一開始若是不習慣使用這個,能夠如今本身的網頁部分,正常的把你想要的HTML元素先正常的寫出來,而後隨便填一些測試數據,先作一個demo(固然若是你公司有專門的前端設計人員,你就爽了。。。),而後直接在這個頁面上,套如ArtTemplate的語法。相似這樣:插件
而後再按照語法,把他抽取到Script標籤中。這東西,簡單得很,語法更是簡單,它沒有太多的語法無非就是:遍歷、判斷,由於自己也只是一個模板插件,若是是太複雜的邏輯處理,自己仍是應該交給JS來作。設計
在抽取到script標籤中的時候,須要給標籤訂義id屬性,這個屬性就是回頭在js調用ArtTemplate的時候,用於指定須要操做哪一個模板(一個頁面固然能夠有多個模板片段啦),好比:前端設計
而後js中調用就:對象
template對象就是ArtTemplate在JS中用於操做模板的對象,第一個參數是模板的id,用於指定這次操做的是哪一個模板,第二個就是要放入模板的參數了。放入的參數有兩個方式。blog
看第一張圖,能夠看到咱們是直接調用了data這個對象來取值,這個data怎麼來的,只能叫data麼?不能使其餘的什麼「date」、「beta」麼?固然能夠是其餘的,主要在於放入的參數,若是你放入的對象,其內部具備一個data屬性,那你就能夠直接調用data來獲取它的值,但若是你放入的參數已是最終的數據,那就得想我上面這種圖同樣,加一個殼{data:room[0]},這種感受很像java中的Map,鍵值對同樣。教程
這插件沒啥難度,也寫不出啥牛逼教程,哈哈,上面那個參數的規則,算是一個小竅門兒吧。