我是javascript开发的新手,我遇到了一个我认为已经解决但我不知道如何找到答案的问题。
假设我有一个JSON对象,如下所示:
// bagelList.json
{
"description": "The bagel list. Who brings the bagels on what day.",
"list": [
{
"date": "Nov 25",
"name": "Cory"
},
{
"date": "Nov 26",
"name": "Jordan"
}
]
}
我想在网页上显示此对象中的信息,但我想要巧妙地显示它 - 而不是直接打印JSON。我还想允许用户更新列表,添加新条目,修改描述等。
我可以像这样显示数据:
$( document ).ready(function() {
$.getJSON('bagelList.json', function(bagelData) {
var items = [];
$.each( bagelData.list, function( index, bagelAssignment ) {
items.push( "<tr><td contenteditable="true">"
+ bagelAssignment.date + "</td><td>"
+ bagelAssignment.name + "</td></tr>" );
});
$("tbody#schedule").append( items.join( "" ) );
});
});
然而,由于嵌入在html中,所有数据现在都被混淆了一点。我可以编写一个解析器来遍历所有表条目,并在用户更新项目后重新创建原始JSON对象,但这看起来像一个kludge。
对数据建模的正确方法是什么,以便能够以吸引人的方式显示数据,但保留从对象读取和写入的能力?
我认为这个问题之前已经解决过很多次了,所以我不想在编写CRUD的过程中走得太远,只是为了发现我只需要做XYZ就可以了。
答案 0 :(得分:2)
有jtable(http://www.jtable.org/Demo/Filtering,https://github.com/hikalkan/jtable)
等项目但是我对此的看法 - 我认为在有些情况下你需要一个纯粹的CRUD操作表;通常它会更流畅,更特定于您的问题/域。 我会去Angular。有人还提到了backbone.js,但我认为它将是无缝的。
如果沿着棱角分明的路径走下去,我建议egghead,那里有很棒的视频。