在Windows 8(Js / html)APP中显示特定数量的项目

时间:2013-03-08 10:04:36

标签: javascript html windows windows-8 grid

我目前正在构建一个Windows 8 Html / js应用程序并使用gridview模板启动,因为这样可以节省大量应用程序的大部分时间。

我已经成功地将Windows 8分屏教程(http://msdn.microsoft.com/en-us/library/windows/apps/hh974582.aspx)改编为我正在构建的应用程序。在这个应用程序中,我正在读取rss feed中的数据,就像在教程中一样。但在我的例子中,我得到了60多件物品。这很好,但我不想在我的主页上显示所有60个项目...我希望所有这些项目都显示在groupDetails页面中。

我现在做的是以下内容:在我的主屏幕中我只想要显示12个项目,所以在我的data.js文件中,在浏览所有帖子时我正在检查这个以及它是否是第一个12,它将获得参考'show',否则这是'hide'。像这样:

 for (var i = 0; i < posts.length ; i++) {
        var post = posts[i];
        //get the title
        var postTitle = post.querySelector("title").textContent;
        //get the content
        var staticContent = toStaticHTML(post.querySelector("content,encoded").textContent);
        var ref = "show";
        if (i > 11) {
            ref = "hide";
        }
        //store the post info we care about
        cPosts.push({
            group: feed,
            backgroundImage: "http://www.thesedays.com/wp-content/uploads/2013/01/LTT_220_11.jpg",
            key: feed.key,
            ref: ref,
            title: postTitle,
            content: staticContent,
            description: feed.description
        });
    }

现在我不熟悉datapromises,但我可以用.hide()简单地隐藏这些元素(我将jQuery库添加到我的项目中),但我不确定所有项目何时加载...

有谁可以帮我解决这个问题? 您可以在此处查看完整的data.js文件http://msdn.microsoft.com/en-us/library/windows/apps/jj663506.aspx

1 个答案:

答案 0 :(得分:1)

如果我有足够的声誉可以留下评论,我会有,因为看起来你已经有了一个有效的解决方案。但我只想提一个替代方案。您可以使用绑定列表的filtered projection,因为您已经在修改数据以标记要显示的元素。代码可能如下所示:

cPosts.createFiltered(function (item) {
    return item.ref === 'show';
});