3

なぜこれがうまくいかないのか、誰かが光を当てることができるかどうか疑問に思っています。

HTML ビュー (最初のシナリオ) でテンプレートを定義すると、各 WinJS.UI.ListView アイテムを動的にテンプレート化できます。ただし、 $.get ステートメントを使用して別の html ファイルからテンプレートをロードすると、機能しません (2 番目のシナリオ)。

self.selectTemplate = function (itemPromise) { return itemPromise.then(function (item) { ...

最初のシナリオ:

(var itemTemplate = document.getElementById(item.data.controlType + "ItemTemplate");

var container = document.createElement("div");

itemTemplate.winControl.render(item.data, container);

return container;)

2 番目のシナリオ:

(var itemTemplatePromise = ko.bindingHandlers.searchPropertyBuilder.loadTemplate(item.data.controlType);

itemTemplatePromise.done(function (itemTemplateLoaded) {

var templateContainer = document.createElement("div");

    templateContainer.innerHTML = itemTemplateLoaded;
    templateElement = templateContainer.firstChild; 

    WinJS.UI.process(templateElement);

    var container = document.createElement("div");
    templateElement.winControl.render(item.data, container);
    return container;
});)

}

WinJS.Utilities.markSupportedForProcessing(self.selectTemplate);

WinJS.Namespace.define("TemplateSelector", {

    template: self.selectTemplate
});
4

1 に答える 1