我遇到新的匿名模板引擎問題。它不能使用嵌套模板。我收到錯誤消息:「此模板引擎不支持嵌套在其模板中的匿名模板」。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/ 。我把它們清理了一些,然後包裝了模板綁定,以儘可能簡單地添加綁定。 –