如何处理数据 - Windows 8应用程序

时间:2013-12-17 23:41:07

标签: javascript html windows-8.1

我看起来似乎无处不在,但也许它太明显了,没有人提到它,但我正在制作一个Windows 8应用程序,我希望用户能够编辑数据。

假设我试图制作待办事项列表,我希望用户能够添加条目。对于我当前使用虚拟静态数据的应用程序,我将这些条目存储在javascript文件中的数组中。我应该只是让用户能够添加/编辑/删除数组中的条目,还是应该使用不同的方法?

如果有人可以链接我一些材料来阅读,或者一个示例显示我正在寻找的东西,那将非常有帮助。

1 个答案:

答案 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中。