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