2
我傳遞一個JSON對象作爲參照我的自定義的jQuery插件是這樣的:問題而創建的jQuery插件
var jsonData = { "Name": "John ", "Country": "US" };
$("#testdiv").TestWidget({MyData:jsonData});
而在我的窗口小部件,我改變這樣的數據:
$.widget("my.TestWidget", {
options: {
MyData: null
},
_create: function() {
this.options.MyData.Name = "NewName";
}
});
但是,這種變化並未反映在原始的JSON數據中,因爲顯然jQuery在創建小部件時創建了我的JSON數據的副本!
這是非常不可取的。有什麼辦法來防止數據的複製,而是傳遞對象作爲參考?
以上是我們原始場景的簡化版本。
謝謝
我們的用戶界面非常複雜,我們想要構建我們的用戶界面insdie我們的小部件 - 要做到這一點,我們將不得不將數據傳遞給小部件。由於我們支持在小部件內編輯,我們將不得不通過引用傳遞json數據。 感謝 – Amar 2012-03-26 14:04:16
這似乎是個好辦法對我不對,但如果你一定要,我想你可以用合併更改回''jsonData' $ .extend(jsonData,$(「#testdiv」)。TestWidget ( 「選擇」))'。 – alextercete 2012-03-26 15:00:11