这实际上取决于您使用的 JavaScript 框架。假设您使用的是微软自己的 WinJS,那么您正在寻找的是“数据绑定”。这允许您将对象或数组绑定到“控件”并使其自动更新。然后您只需使用数组,添加、删除、排序项目。数据绑定会自动反映模板中的这些更改。
这是一个来自 MSDN 自己的文档的数据绑定的快速示例:
<div id="listDiv"
data-win-control="WinJS.UI.ListView"
data-win-options="{ itemDataSource : dataList.dataSource }">
</div>
<script type="text/javascript">
var dataArray = [
{ name: "Marley", species: "dog" },
{ name: "Lola", species: "cat" },
{ name: "Leo", species: "dog" },
{ name: "Izzy", species: "cat" },
{ name: "Ziggy", species: "cat" },
{ name: "Ruby", species: "dog" }
];
var dataList = new WinJS.Binding.List(dataArray);
WinJS.UI.processAll();
</script>
你可以在这里看到更多:http://msdn.microsoft.com/en-us/library/windows/apps/hh700774.aspx
每个 JavaScript 框架的处理方式都略有不同。例如,AngularJS 可以让你将数组绑定到这样的列表:
<ul>
<li ng-repeat="item in list">{{item.name}}</li>
</ul>
其中 'list' 是范围内对象数组的名称,item 是数组中的单个对象,item.name 是具有单个对象名称的字符串。语法不同,但同样,您只需操作数组,它就会反映在生成的 HTML 中。