2012-08-16 33 views
0

我知道足夠多的jQuery/JavaScript是危險的。我有一個JSON數組,我使用兩個不同的元素(一個日曆和一個表,準確地說)進行交互。是否有可以綁定到的事件處理程序(或任何其他方式),以便在JSON更改時刷新表格?在JSON上運行javascript更改?

+3

如果JSON是在這裏變量檢查。: http://stackoverflow.com/questions/1759987/listening-for-variable-changes-in-javascript-or-jquery或者:http:// stackoverflow.com/questions/3267741/jquery-trigger-on-variable-change這些用於觸發變量的functino。使函數刷新表格。 – 2012-08-16 06:27:43

+0

你是否願意使用javascript framewrok已經是avaialable? – Diode 2012-08-16 08:53:20

+0

感謝您的鏈接,@AdamMerrifield!我想我可以在那裏找到一些東西。我試圖編寫我的第一個jQuery插件,所以我不確定如果使用Knockout或其他框架,如果我希望它全部是獨立的,那麼它就可以工作。 – 2012-08-16 14:21:38

回答

3

基本編程,將json(=字符串)解析爲javascript對象或數組。 (你可能已經這樣做了。)使用觀察者模板的實現。

我建議大家仔細看看@Adam Merrifield的有趣鏈接。

大多數情況下,使用getter和setter可以在setter中激發自定義事件(或調用回調方法),這是其中的關鍵。

KnockoutJS是一個很好的框架來幫助你做這樣的綁定。它也使用observable - observer/subscriber模式。

使用計時器是不是一個真正的好主意..小到多的開銷。 (做什麼也沒有什麼變化,而且你總會跳到x ms後面(取決於輪詢頻率)

+0

感謝您的輸入。我會調查Knockout。我試圖製作一個jQuery插件,所以我想保持純jQuery,但我會看到我可以用你們給我的鏈接做什麼。 – 2012-08-16 15:49:23

2

你可能想考慮Knockout.JS 它允許雙向映射,所以改變你的模型應該反映你的觀點和副/反之亦然

http://knockoutjs.com/documentation/json-data.html

但是,它可能是你的開發週期的後期階段,但要考慮的事情