我想知道是否可以通过属性字符串来实现对象访问,如
const obj = { foo:"bar" }
obj["foo"] // returns "bar"
通过Blaze Spacebars(因此,不使用辅助函数)。
我试过像
这样的东西{{#with obj}}
{{this['foo']}}
{{/with}}
但它似乎不接受方括号。注意:我不能只输入
{{this.foo}}
因为属性名称是由另一个对象动态地给出的值。
答案 0 :(得分:1)
返回键的辅助函数和接收对象和键的另一个函数如何返回值?
// JS
Template.registerHelper('keys', function keys (object) {
return Object.keys(object);
});
Template.registerHelper('pick', function pick (key, object) {
return object[key];
});
// html
<template name="foo">
{{#each key in (keys obj)}}
{{key}} - {{pick key obj}}
{{/each}}
</template>
编辑:刚刚注意到你的标题非常清楚地说明了#34;没有帮助&#34;。如果没有帮助者,我认为这是不可能的