///
var context = {
author: { firstName: "Alan", lastName: "Johnson" },
body: "I Love Handlebars",
comments: [{
author: { firstName: "Yehuda", lastName: "Katz" },
body: "Me too!"
}]
};
Handlebars.registerHelper('fullName', (person) => {
return person.firstName + " " + person.lastName;
});
Handlebars.registerHelper('agree_button', () => {
return new Handlebars.SafeString(
""
);
});
var source = "
Hello, my name is {{name}}. I am from {{hometown}}. I have " +
"{{kids.length}} kids:
" +
"{{#kids}}- {{name}} is {{age}}
{{/kids}}
";
var template = Handlebars.compile(source);
var data = { "name": "Alan", "hometown": "Somewhere, TX",
"kids": [{"name": "Jimmy", "age": "12"}, {"name": "Sally", "age": "4"}]};
var result = template(data);
Handlebars.registerHelper('link_to', (context) => {
return "" + context.body + "";
});
var context2 = { posts: [{url: "/hello-world", body: "Hello World!"}] };
var source2 = "{{#posts}}- {{{link_to this}}}
{{/posts}}
"
var template2 = Handlebars.compile(source2);
template2(context2);
Handlebars.registerHelper('link_to', (title, context) => {
return "" + title + "!"
});
var context3 = { posts: [{url: "/hello-world", body: "Hello World!"}] };
var source3 = '{{#posts}}- {{{link_to "Post" this}}}
{{/posts}}
'
var template3 = Handlebars.compile(source3);
template3(context3);
var source4 = "{{#people}}- {{#link}}{{name}}{{/link}}
{{/people}}
";
Handlebars.registerHelper('link', (context, options) => {
return '' + context.fn(this) + '';
});
var template4 = Handlebars.compile(source4);
var data2 = { "people": [
{ "name": "Alan", "id": 1 },
{ "name": "Yehuda", "id": 2 }
]};
template4(data2);
var source5 = "{{#people}}- {{> link}}
{{/people}}
";
Handlebars.registerPartial('link', '{{name}}')
var template5 = Handlebars.compile(source5);
var data3 = { "people": [
{ "name": "Alan", "id": 1 },
{ "name": "Yehuda", "id": 2 }
]};
template5(data3);
Handlebars.registerHelper('list', (items, fn) => {
var out = "";
for(var i=0, l=items.length; i" + fn(items[i]) + "";
}
return out + "
";
});
Handlebars.registerHelper('fullName', (person) => {
return person.firstName + " " + person.lastName;
});