我有一个视图模型:
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');
,则模板不再更改。
我做错了什么?
答案 0 :(得分:0)
如果您想使用敲除模板,那么您可以在绑定中指定:
<ul data-bind="template: { name: templateToUse, foreach: applications, templateEngine: new ko.nativeTemplateEngine() }"></ul>
默认情况下,如果在页面上引用,则敲除将使用jquery模板。您还可以使用其他模板,有关详细信息,请参阅documentation。