1

即使在阅读了 MSDN 文档和以下在线指南之后,我仍然在为此苦苦挣扎:

码福斯特

斯蒂芬·沃尔特

我认为我的问题很容易解决,而我只是在以错误的方式思考某些事情。基本上我正在查询我的网络服务并成功运行以下方法。然后我试图将结果绑定到我的列表视图。现在,我使用的publicMembers.itemlist是在文档顶部声明的硬编码值,只是为了确保在使用查询结果之前可以实际绑定到列表。暂时忽略第 2 行。

成功方法:

_lookUpSuccess: function xhrSucceed(Result) {
        var response = JSON.parse(Result.responseText);
        listView = document.querySelector("#termTest");
        ui.setOptions(listView, {
            itemDataSource: publicMembers.itemList,
            itemTemplate: document.querySelector(".itemtemplate"),
        })

     },

现在,document.querySelector我没有使用 ,而是尝试使用WinJS.Utilities.idand WinJS.Utilities.query,但两者都不起作用。这不会破坏我的代码并引入错误,但它也不会绑定到列表视图,所以我认为我在查询正确的 DOM 元素时遇到了问题。但是,如果我将它添加到脚本的顶部,完全相同的代码确实可以工作,只有当我将它放在这个方法中时它才会停止工作。

编辑:还要澄清一下,当我调试时publicMembers.itemList存储我期望它们的值。

请指出我是否解释得不好,我会尝试改进我的问题。

谢谢。

4

1 回答 1

2

我没有使用过 WinJS.UI.setOptions,而是使用了另一种设置数据源的方式。你能看看它是否有效吗?

_lookUpSuccess: function xhrSucceed(result) {
    var response = JSON.parse(result.responseText);
    listView = document.querySelector("#termTest");

    listView.winControl.itemDataSource = publicMembers.itemList;
 },

这将假定您将 itemTemplate 定义为data-win-optionsListView 的 HTML 元素属性的一部分。listView.winControl.itemTemplate = document.querySelector(".itemtemplate")如果您更喜欢以编程方式设置它,您也可以这样做。

于 2013-01-10T00:20:42.773 回答