registerPartial

引入局部模板,局部模板可以使字符串,也可以是编译模板的函数。

// 使用字符串
//Handlebars.registerPartial('link', '<a href="{{url}}">{{title}}</a>');

// 使用方法
Handlebars.registerPartial('link', (function(){
	return '<a href="{{this.url}}">{{this.title}}</a>';
})());

var obj = {
	nav: [
		{ title: '首页', url: '/' }
		, { title: '文档', url: '/started.html' }
		, { title: 'JS插件', url: '/javascript.html' }
	]
}

var htmlTemplate = '<ul>\
			    {{#each nav}}\
			    	<li>{{>link}}</li>\
			    {{/each}}\
		    </ul>';

var template = Handlebars.compile( htmlTemplate );

console.log( template( obj ) );

// 返回结构如下
/*
<ul>
    <li><a href="/">首页</a></li>
    <li><a href="/started.html">文档</a></li>
    <li><a href="/javascript.html">JS插件</a></li>
 </ul>
*/