为什么可以't我把我的Handlebars称为部分内部#
Why can't I call my Handlebars partial inside #each?
在重构一些代码时,我遇到了这个问题:当应用使用分部的Handlebars模板时,它会抱怨You must pass a string or Handlebars AST to Handlebars.compile. You passed function ...
。功能如下:
function (context, options) {
options = options || {};
var namespace = options.partial ? options : env,
helpers,
partials;
if (!options.partial) {
helpers = options.helpers;
partials = options.partials;
}
var result = templateSpec.call(
container,
namespace, context,
helpers,
partials,
options.data);
if (!options.partial) {
checkRevision(container.compilerInfo);
}
return result;
}
我做了什么:
分部用于迭代列表(称为成员),以构建复选框的ul
。我发现我需要列出一个列表,并将对分部的调用放在#each
中,并更新了模板输入。
我有这个:
模板:
...
{{#each hierarchy.levels}}
<ul>
{{> mypartial}}
</ul>
{{/each}}
部分(简化):
{{#each members}}
<li>{{this.id}}</li>
{{/each}}
我已经检查了数据结构中的每个hierarchy.levels
都有一个members
列表。
如果我用#with hierarchy.levels.[0]
替换模板中的#each
(例如),它可以工作,但在levels
上迭代时不起作用。
我解决了这个问题。其中一个二级列表是空的(即零项),这导致Handlebars将其呈现为空字符串,这再次导致Handlebar认为某些内容是错误的,并试图将分部呈现为常规模板。
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调用函数内部的函数
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 在phonegap应用程序内部重定向不起作用
- 使用此选项选择父类内部的类
- 访问JSON对象内部的数组元素
- 从模块内部访问Express装载路径
- AngularJs指令,该指令创建内部有数据对象的新指令
- 如何使用内部对象构造对象
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 用Javascript修改内部标记的CSS规则
- javascript函数内部的代码用逗号而不是分号分隔
- 正在$rootScope上达到控制器作用域$在内部控制器上
- 光线投射从内部投射时不会碰到网格
- javascript无法重新定义函数内部的全局对象
- 在不移动内部文本的情况下缩放元素的效果
- JavaScript goto 标签如何使用内部循环
- Javascript:循环属性内部的条件递增或递减
- 将当前用户的 ID 推送到 meteorjs 中集合/文档的内部数组
- 为什么可以't我把我的Handlebars称为部分内部#