Vaadin中用於標識shared state內部屬性的annotation @NoLayout的作

要說@NoLayout,必須先說一下vaadin的server端產生state變化之後到了客戶端這邊,客戶端會假設server端任何關於state的改變都會引起客戶端組件的尺寸上的改變。但是有些情況並非如此,比如,當server端僅僅是更新了某個會被顯示在客戶端組件中的值,而並非客戶端組件尺寸(或佈局)。這時,在state中的那個僅僅用於改變客戶端組件的顯示值的成員變量就可以用@NoLayout來標註。這樣,那個成員變量的值發生改變時,客戶端不會去執行重新佈局這個步驟,而僅僅是獲得當前變化的值。

可以去看Vaadin7(7.6.8)中ProgressBarState類的源代碼,其中progressbar的state用了@NoLayout annotation。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章