【问题标题】:Backbone Marionette templateCache is not used by default?Backbone Marionette templateCache 默认不使用?
【发布时间】:2013-11-20 07:15:48
【问题描述】:

根据 Derick Bailey 在他的一篇文章中的说法,Template Cache Built In To Backbone.Marionette

所以当我指定这样的模板时

 Backbone.Marionette.ItemView.extend({template : '#template1'});

它真的第一次将模板 template1 存储到模板缓存中并随后从缓存中访问它吗? 我有这个疑问,因为当我检查全局 TemplateCache 对象时,它实际上并没有被存储。我错过了什么吗?

模板是否每次都从 DOM 中选择? (Derick 甚至说 DOM 选择很昂贵

我是 Marionette 的新手。任何帮助将不胜感激。谢谢 :)

【问题讨论】:

    标签: templates caching backbone.js marionette


    【解决方案1】:

    Bt 默认情况下,Marionette 会读取 DOM 元素并通过 underscore 的 template() 函数运行,将 html 模板编译成简单的 JS 函数。此功能是模板缓存中的内容。查看 marionette 网站上提供的带注释的源代码,了解其工作原理以及您可以在哪里插入以进行更改。

    【讨论】:

    • 谢谢你的回答。它帮助了我。别人做了..我不知道为什么
    【解决方案2】:

    根据文档https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.templatecache.md 当你这样做时

    var template = Backbone.Marionette.TemplateCache.get("#my-template");
    

    在您的模板变量中,您将拥有一个已编译的模板,但同时该模板将存储在缓存中,因此下次您使用该模板时,将使用缓存的一个表单。

    所以你首先需要使用 marionette 中的 templatecache 对象来编译/存储模板

    【讨论】:

    • 也就是说,默认情况下,木偶不使用模板缓存?
    • 不,说它内置意味着已经存在,而不是默认使用。
    • 默认使用,无需显式引用
    猜你喜欢
    • 2012-08-06
    • 1970-01-01
    • 2013-03-16
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多