1

MSDNのドキュメントと次のオンラインガイドを読んだ後でも、これに苦労しています。

コードフォスター

スティーブンウォルター

私の問題は簡単に修正でき、間違った方法で何かを考えているだけだと思います。基本的に、私は自分のWebサービスにクエリを実行し、成功すると次のメソッドを実行します。次に、結果をリストビューにバインドしようとしています。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を試してみましたが、どちらも機能しませんでした。これは私のコードを壊してエラーを引き起こしませんが、リストビューにもバインドされないので、正しいDOM要素のクエリに問題があると思います。ただし、スクリプトの先頭に追加した場合でもまったく同じコードが機能します。このメソッドに配置した場合にのみ、機能しなくなります。WinJS.Utilities.idWinJS.Utilities.query

編集:また明確にするために、私がデバッグするとき、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;
 },

data-win-optionsこれは、ListViewのHTML要素の属性の一部としてitemTemplateを定義していることを前提としています。listView.winControl.itemTemplate = document.querySelector(".itemtemplate")プログラムで設定したい場合は、おそらくそれを行うこともできます。

于 2013-01-10T00:20:42.773 に答える