我遇到新的匿名模板引擎问题。它不能使用嵌套模板。我收到错误消息:“此模板引擎不支持嵌套在其模板中的匿名模板”。knockoutjs 1.3PRE“此模板引擎不支持嵌套在其模板中的匿名模板”
我的问题:我如何强制knockoutJS使用jquery模板引擎而不是新的。 (直到它也支持嵌套模板偏离航向)
谢谢
最亲切的问候 月
我遇到新的匿名模板引擎问题。它不能使用嵌套模板。我收到错误消息:“此模板引擎不支持嵌套在其模板中的匿名模板”。knockoutjs 1.3PRE“此模板引擎不支持嵌套在其模板中的匿名模板”
我的问题:我如何强制knockoutJS使用jquery模板引擎而不是新的。 (直到它也支持嵌套模板偏离航向)
谢谢
最亲切的问候 月
一对夫妇的事情,应该帮助清理这件事:
foreach
,if
,ifnot
和with
。您仍然可以使用模板绑定(包括嵌套模板)。ko.setTemplateEngine()
来控制默认模板引擎。您可以传递您想要使用的引擎实例,如ko.setTemplateEngine(new ko.nativeTemplateEngine)
templateEngine
参数中的模板绑定。因此,对于您的情况,您可能希望删除对jquery.tmpl.js的引用,以便默认使用本机模板引擎。本地模板引擎确实支持嵌套模板(匿名或命名)。显示使用本地模板引擎与它内部的匿名模板命名模板
当我删除了包括到我得到这个问题的TMPL JS库,但重新添加它固定的问题。你确定你已经包含jquery.tmpl.js库吗?
<script src='..<some path>../jquery.tmpl.js")' type="text/javascript"></script>
此外,我包括第一个tmpl库和第二个淘汰赛库。也许这是一个因素?
+1 - 比我更好的答案!但是,公平地说,新的淘汰模板引擎存在限制/向后兼容性问题。例如,您的拖放示例(http://www.knockmeout.net/2011/05/dragging-dropping-and-sorting-with.html)是否会与新引擎一起工作,因为它依赖于在模板中传递参数数据绑定? –
是的,有一些变化是必要的。从帖子中拖放使用'tmplItem'这是一个jQuery模板的概念,但可以轻松替换。它也使用'templateOptions',这在本地模板中不是当前支持的。我将着眼于使用新语法创建更新的示例,并查看是否可以找到方法进一步清理它。 –
我可能会发布这个或添加一个注释到博客文章,但这里是1.3中的两个示例:http://jsfiddle.net/rniemeyer/JEe2x/和http://jsfiddle.net/rniemeyer/HzNuS/ 。我把它们清理了一些,然后包装了模板绑定,以尽可能简单地添加绑定。 –