使用KnockoutJS和koExternalTemplateEngine后,jQuery UI无法应用

时间:2014-04-15 14:56:44

标签: jquery-ui templates knockout.js template-engine

我有这个简单的js从web api加载数据,通过knockout应用绑定并应用jQuery UI小部件。

$(document).ready(function () {

    infuser.defaults.templateSuffix = ".tmpl.html";
    infuser.defaults.templateUrl = "Templates";

    $.get("data.json")
        .done(function(data) {
            ko.applyBindings(data);
            $(".accordion").accordion();
        });
});

当我在主html文件中有我的模板时,一切正常。

但是当我将模板移动到单独的文件并通过koExternalTemplateEngine.js加载它们时,模板正确加载但不应用jQueryUI。 jQueryUI工作正常,因为我可以在浏览器控制台中调用它,一切都回来了。

1 个答案:

答案 0 :(得分:0)

我首先使用手风琴的自定义绑定(see this related question)并查看是否可以解决问题。我的猜测是它在加载外部模板,应用绑定然后是jQuery手风琴调用之间的时间问题(具体来说,我认为手风琴HTML在jQuery调用初始化时没有完全加载/构建)。