簡體   English   中英

動態還是靜態創建表單?

[英]Create forms dynamically or statically?

我有一個特定的網頁,需要大約6種不同的形式; 其中一些最多包含15行唯一的標簽和輸入。

我制作了一個JavaScript庫,該庫可以接受大對象並輸出表單。 基本上,它接受一個無盡的對象,例如:

var myForm = {
   row1 : {
       label : { text : 'First Field'}
       input : {
            type : 'dropdown',
            values : { 1 : 'Enabled', 0 : 'Disabled'}
       } 
   }
}

.. 等等。

然后我意識到,也許最好將HTML中的每個表單都鍵入出來,將其放在HTML頁面上,然后將其隱藏直到需要為止(它們被實現為疊加層)。 但是,我認為這可能被視為不良做法,因為:

1)該頁面經過長時間輪詢,每5秒鍾更新一次,因此重新繪制了該頁面。 它會重繪甚至隱藏的東西嗎?

2)我的HTML文件會很大

我的問題是:我應該只是為HTML頁面簡單地存儲很多表單,還是應該動態創建它們。 動態創建它們仍然意味着我的javascript文件中將包含大對象。 將它們靜態地嵌入到HTML頁面中意味着它們可能(不確定)在每次重新繪制頁面時都被重新繪制。

如評論中所述,您已經在使用ajax而不是整頁加載來更新頁面。

更改dom時,我不必擔心頁面重繪。 可以(在瀏覽器內部)緩存很多東西,並且沒有添加的請求/響應處理。 更改dom是可以的-進行整頁請求很慢。

您的動態解決方案可能要比將其添加為html頁面上的靜態字段並使用javascript顯示/隱藏更為復雜,但是我不會擔心速度。 如果您已經實施的動態版本(聽起來像你這樣做) 怎樣的速度?

如果我是你,我會問自己:

  1. 哪種解決方案更容易理解(對於其他人,或者您自己,幾年以后)
  2. 哪種解決方案更易於維護? (可能會發生什么變化?)
  3. 我為添加以下內容而踢自己:您如何最快地完成任務? (誰為此付出代價,您已經實現了什么解決方案)。

值得一提的是,動態版本使創建接口以通過后端等添加/刪除/更改字段成為可能。 如果這是可取的,那么您可能想要那樣搖擺。 但是,請不要設計您不需要的東西,這會導致以下結果:

YAGNIKISS

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM