0
Original code從JamieMThomas,一個(真正的好人,誰是試圖微軟JQuery的模板和鏈接合併):JavaScript雜技:如何將對象文字分配給評估屬性?
mapping[binding.field] = {
convert: function (value, source, target) {
if (binding.converter && binding.converter.convert) {
value = binding.converter.convert(value, source, target)
if (value === undefined)
return;
}
$(target).attr(attrName, value);
}
};
我試圖破解它允許binding.field
與像"LPC[0].itemid"
字符串(字面字符串工作)。我使用eval作爲一個可怕的選擇,但這是我能做的最快的事情(並且稍後將重寫它)。我最初嘗試將內容分配給eval('')本身,但它不允許我。
eval('(mapping.' + binding.field + ')') =
{ // rest is the same
convert: function (value, source, target) {
if (binding.converter && binding.converter.convert) {
value = binding.converter.convert(value, source, target)
if (value === undefined)
return;
}
$(target).attr(attrName, value);
}
};
很明顯,左側的分配無效。我怎麼能做到這一點?