我看起来似乎无处不在,但也许它太明显了,没有人提到它,但我正在制作一个Windows 8应用程序,我希望用户能够编辑数据。
假设我试图制作待办事项列表,我希望用户能够添加条目。对于我当前使用虚拟静态数据的应用程序,我将这些条目存储在javascript文件中的数组中。我应该只是让用户能够添加/编辑/删除数组中的条目,还是应该使用不同的方法?
如果有人可以链接我一些材料来阅读,或者一个示例显示我正在寻找的东西,那将非常有帮助。
答案 0 :(得分:0)
这实际上取决于您正在使用的JavaScript框架。假设您正在使用Microsoft自己的WinJS,那么您正在寻找的是“数据绑定”。这允许您将对象或数组绑定到“控件”并使其自动更新。然后你只需使用数组,添加,删除,排序项目。 data-bind会自动反映模板中的这些更改。
以下是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中。