【发布时间】:2014-02-28 06:14:33
【问题描述】:
车把调节似乎不适用于属性。
在.js中
if (Meteor.isClient){
Template.cards.myCards = function()
{
return ["something.png"];
}
Template.card.isSelected = function()
{
return true;
};
}
在.html中
<head>
<title>test</title>
</head>
<body>
{{>cards}}
</body>
<template name="cards">
{{#each myCards}}
{{>card}}
{{/each}}
</template>
<template name="card">
<div class="{{#if isSelected}}selectedClass{{/if}}">
{{#if isSelected}}selectedContent{{/if}}
</div>
</template>
给我(一旦渲染)
<div class="<!--data:DQhTaW3zefLpaZQ2k-->">
selectedContent
</div>
我的“selectedClass”去哪儿了?为什么被注释的数据块代替了?
获取GitHub上的代码
【问题讨论】:
-
你能包含所有相关代码吗?默认情况下,把手会自动转义特殊字符。您可以使用三方括号来覆盖此行为。
-
使用相同的流星版本对我来说效果很好。您实际上是在使用 html 还是 html 预处理器(jade、blade 等)?
-
@DavidWeldon 没有预处理器,因为我现在怀疑渲染错误我用最少的代码更新了问题以重现问题。这在 0.7.1.1 中仍然不起作用
-
@BradM 代码已更新,我考虑过使用三重括号,但在这种情况下不相关。请注意,仅当卡片模板在 each 函数内的另一个模板中呈现时才会发生此问题。
-
有趣。从
each中取出它工作正常。这似乎是一个错误。你用新的渲染引擎试过了吗?
标签: meteor handlebars.js