Documentation for _.template(...).source.

This commit is contained in:
Brad Dunbar
2012-03-26 13:37:06 -04:00
parent 2055d745db
commit 2c0ccf03ef
2 changed files with 14 additions and 2 deletions

View File

@@ -1327,7 +1327,7 @@ _.result(object, 'stuff');
<br />
Compiles JavaScript templates into functions that can be evaluated
for rendering. Useful for rendering complicated bits of HTML from JSON
data sources. Template functions can both interpolate variables, using<br />
data sources. Template functions can both interpolate variables, using
<tt>&lt;%= &hellip; %&gt;</tt>, as well as execute arbitrary JavaScript code, with
<tt>&lt;% &hellip; %&gt;</tt>. If you wish to interpolate a value, and have
it be HTML-escaped, use <tt>&lt;%- &hellip; %&gt;</tt> When you evaluate a template function, pass in a
@@ -1381,6 +1381,18 @@ var template = _.template("Hello {{ name }}!");
template({name : "Mustache"});
=&gt; "Hello Mustache!"</pre>
<p>
Precompiling your templates can be a big help when debugging errors you can't
reproduce. This is because precompiled templates can provide line numbers and
a stack trace, something that is not possible when compiling templates on the client.
<b>template</b> provides the <b>source</b> property on the compiled template
function for easy precompilation.
</p>
<pre>&lt;script&gt;
JST.project = <%= _.template(jstText).source %>;
&lt;/script&gt;</pre>
<h2 id="chaining">Chaining</h2>

View File

@@ -960,7 +960,7 @@
var template = function(data) {
return render.call(this, data, _);
};
template.source = 'function(obj, _){\n' + source + '\n}';
template.source = 'function(obj){\n' + source + '\n}';
return template;
};