数据源及模板渲染var template = Handlebars.compile($("#people-template").html()); var temp = {ages:[23,24,56,64...var result = template(temp,{data:["tom","jak","lili","jim"]});就是在渲染时传入data数据.正常情况下传递一个json数据,当传两个json...了,第二个json里的数据就是替换模板中的占位符的({{@...}}这种写法的占位符).str+=options.fn(context[i],{data:{name:options.data[i]}})...;这句话就是将模板渲染时传入的数据中的name字段付给{{@name}}这个占位符。...在渲染时一定要匹配,比如我的数据源是ages那就一定要用ages,那为什么我上面用的是{{this}},因为我在div中的ages,所以div下面的上下文this指代的就是ages.模板{{#each