【问题标题】:How to handle data - Windows 8 app如何处理数据 - Windows 8 应用程序
【发布时间】:2015-11-17 20:07:31
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript html windows-8.1


    【解决方案1】:

    这实际上取决于您使用的 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 中。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多