【问题标题】:Loading itemTemplate for WinJS.UI.ListView from external source从外部源加载 WinJS.UI.ListView 的 itemTemplate
【发布时间】:2013-11-19 04:47:39
【问题描述】:

我想知道是否有人可以解释为什么这不起作用。

如果我在我的 html 视图中定义模板(第一个场景),我可以成功地为每个 WinJS.UI.ListView 项目动态模板化。但是,如果我使用 $.get 语句从单独的 html 文件加载模板,它将不起作用(第二个场景)。

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;)

第二种情况:

(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
});

【问题讨论】:

    标签: winjs windows-8.1


    【解决方案1】:

    我可以在代码中看到一个错误。但不确定这是否是这里唯一的问题。承诺需要被链接。 winjs.ui.processAll 返回一个承诺。

    itemTemplatePromise.then(function (itemTemplateLoaded) {
    
      var templateContainer = document.createElement("div");
      templateContainer.innerHTML = itemTemplateLoaded;
      templateElement = templateContainer.firstChild; 
    
      return WinJS.UI.processAll(templateElement);
    }).then(function onprocessall()
    {
        var container = document.createElement("div");
        templateElement.winControl.render(item.data, container);
        return container;
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2020-06-22
      • 2015-12-18
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多