0

我正在为一个项目构建一个相当复杂的通知系统,我想找出在数据库中存储各种类型通知模板的最佳方法。

我发现了一些类似的帖子Using a variable to store a knockout template建议在绑定视图模型之前将所有可能的模板加载到 DOM 中。该解决方案可行,但似乎不能很好地扩展。淘汰赛是否提供了一种基于 ajax 调用加载模板的方法?

4

1 回答 1

1

Knockout 具有允许您添加自己的模板引擎或自定义模板源的扩展点。

我有几个项目使用此功能创建一个模板引擎,该引擎默认首先在 JavaScript 对象中查找模板字符串。有很多方法可以做到这一点。这是我实现我的方式:https ://github.com/rniemeyer/SamplePresentation/blob/master/js/stringTemplateEngine.js 。

从服务器加载模板后,您只需执行以下操作:

ko.templates[templateName] = response;

您可以随时轻松地从此对象中删除模板。

这是一个工作示例:http: //jsfiddle.net/rniemeyer/erytN/

于 2013-02-22T19:49:33.983 回答