【问题标题】:Backbone Boilerplate Template骨干样板模板
【发布时间】:2012-04-03 22:45:32
【问题描述】:

我对骨干很陌生,但我设法通过教程让它工作。但是当我想将这些应用程序移植到主干样板时,我发现自己卡在了模板上。如何从我的模板访问我的模型?甚至来自js文件本身?我发现自己在这里停留了一段时间。

Backbone Boilerplate 指的是https://github.com/tbranyen/backbone-boilerplate

【问题讨论】:

  • 您能否提供一些详细信息/sn-ps 显示哪些代码不起作用?

标签: javascript backbone.js boilerplate


【解决方案1】:

对于大多数 javascript 模板库,模板分两个阶段进行。

  1. 将字符串(通常包含 HTML)传递给模板引擎的“编译”函数。这将为您返回一个可以执行的“模板函数”。在您的应用程序的整个生命周期内,每个模板只需执行一次。
  2. 通过调用已编译的模板函数并提供可用于模板的数据“上下文”,将模板呈现为输出(通常是 HTML)。这可以使用不同的上下文数据重复完成以输出不同的 HTML。

.

//Compile your template string into a function
//Happens 1 time only then you can cache the function
var templateFunction = _.template("<p>Your <%- part %> is so <%- description %></p>");

//Generate your output HTML with varying sets of data.
var html1 = templateFunction({part: "nose", description: "big"});
//html1 has "<p>Your nose is so big</p>";
var html2 = templateFunction({part: "cat", description: "fat"});
//html2 has "<p>Your cat is so fat</p>";

这与下划线模板、JST、jade 和大多数其他模板引擎的基本思想相同。 “上下文数据”是您的模板如何访问您的模型。如果您愿意,您可以通过提供如下上下文使其直接访问底层模型:{model: myModel};。然后在您的模板中,您可以执行&lt;%= model.get("displayName") %&gt; 之类的操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多