Jquery淘汰动态模板不起作用

时间:2013-04-23 09:36:27

标签: javascript jquery knockout.js knockout-2.0

我有一个视图模型:

function ViewModel() {
    this.applications = ko.observableArray();
    this.templateView = ko.observable("application-grid");
    this.templateToUse = function () {
        return this.templateView();
    }.bind(this);
};
var viewModel = new ViewModel();
ko.applyBindings(viewModel);

我有一个绑定到viewModel

的列表
<ul data-bind="template: { name: templateToUse, foreach: applications }"></ul>

当页面加载时,它会选择“应用程序网格”模板ID。

当我第一次更改viewModel.templateView('application-list');时,模板会更改。

然后,如果我将其更改为viewModel.templateView('application-grid');,则模板不再更改。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

如果您想使用敲除模板,那么您可以在绑定中指定:

<ul data-bind="template: { name: templateToUse, foreach: applications, templateEngine: new ko.nativeTemplateEngine() }"></ul>

默认情况下,如果在页面上引用,则敲除将使用jquery模板。您还可以使用其他模板,有关详细信息,请参阅documentation

相关问题