【发布时间】:2015-06-20 09:28:49
【问题描述】:
我想知道为什么下面的东西输出'hello'而不是'bye'???
模板:
<template name="example">
{{#with dataContext}}
{{say}}
{{/with}}
</template>
模板助手:
Template.example.helpers({
dataContext: function() {
return {
say: 'bye'
};
},
say: function() {
return 'hello';
}
});
(流星 1.1.0.2)
【问题讨论】:
-
尝试将 {{say}} 替换为 {{dataContext}}
-
是的,谢谢,但我问为什么它仍然有效? - 只是为了好奇。
-
你说如果数据上下文 == 真,然后为“说”呈现结果。现在,我说 IF 数据上下文 == true,然后为“数据上下文”渲染结果。 dataContext 将始终在 if 语句中返回 true,除非您指定返回 false。你可以写 {{#with say}} {{datacontext}} {{/with}} 你的输出会是“再见”。
-
我不明白 - 我问自己为什么它像它一样有效。据我了解,我的示例应该输出“再见”,因为数据上下文集对“再见”说。但是目前在数据上下文中说是由模板助手设置的说......这对我来说在概念上是错误的。
标签: meteor meteor-blaze