本人公司內(nèi)因為前端人才較少,因此還是采用傳統(tǒng)的bootstrap+jquery+ajax+artTemplate的形式進行開發(fā)(這是前提,希望大家給我的答案不要說用vue,用react,這個本人決定不了,前提是用jquery的環(huán)境下解決這個問題。)當(dāng)頁面如果是純表單展示的類,我覺得確實這個技術(shù)是夠了,但是如果碰到一些復(fù)雜的頁面,可能會有部分問題。以下舉一個簡單的栗子。大家一定都做過一種類型的網(wǎng)頁"tab",就是比如一些表單,會有很多的類別,每次點擊一個類別,網(wǎng)頁內(nèi)就顯示出相應(yīng)類別的列表。1.最早期,采用bootstrap的tab標(biāo)簽,把數(shù)據(jù)一次性取過來,然后放到不同的tab里面,然后呢,通過bootstrap的tab點擊來顯示不同類別的列表(原理應(yīng)該是顯示一部分,隱藏大部分),所以如果數(shù)據(jù)大的時候,肯定是一開始頁面會白屏一下,然后全部數(shù)據(jù)渲染好了,之后再點擊不同的類別就快了。大概的偽代碼就是下面(不是正常代碼,大家看看就好)所以這個效率瓶頸在初次的時候,數(shù)據(jù)量大會白屏,而且呢,后期不斷切換可能會出現(xiàn)一些非常奇葩的兩個類別同時顯示的時候。。。。2.然后,開始用模板語法了,稍微高級一些,在content內(nèi),就一個div,div通過數(shù)據(jù)來渲染模板,每次點擊不同的tab,則會取不同的數(shù)據(jù) 然后通過模板引擎的函數(shù)生成新的html,塞到content內(nèi),大概偽代碼是下面這種方式的瓶頸就是,每次切換數(shù)據(jù),都要生成一次html,然后進行大量的dom刪除和添加操作,那么如果頻繁操作,肯定會有性能問題。所以想請教下大家有沒有能夠解決這種的方法,在不適用vue這種新的框架下,有類似于動態(tài)模板引擎或者是能夠在用模板引擎的基礎(chǔ)上實現(xiàn)數(shù)據(jù)雙向數(shù)據(jù)綁定,使得用模板引擎的方法能夠像vue這樣,改變數(shù)據(jù),數(shù)據(jù)對應(yīng)的模板就能夠相應(yīng)的改變,并且不會造成大量的dom刪除和添加開銷呢?代碼只是簡單的偽代碼,希望大家不要噴。。。一個苦逼的新人前端狗虛心向大家求教。
使用模板引擎的前提下,如果才能更加高效?
炎炎設(shè)計
2018-12-20 18:15:28