Meteor blaze 模板访问对象 属性 无需帮助即可按键
Meteor blaze template access object property by key without helper
不知是否可以通过属性-string like
实现对象访问
const obj = { foo:"bar" }
obj["foo"] // returns "bar"
通过 Blaze 空格键(因此,不使用辅助函数)。
我试过
{{#with obj}}
{{this['foo']}}
{{/with}}
但是好像不接受方括号。注意:我不能只输入
{{this.foo}}
因为 属性 名称是由另一个对象作为值动态提供的。
returns 键和另一个接受 object 键和 returns 值的辅助函数怎么样?
// 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>
编辑:刚刚注意到您的标题说得很明确 "Without helper"。如果没有帮手,我认为这是不可能的
不知是否可以通过属性-string like
实现对象访问const obj = { foo:"bar" }
obj["foo"] // returns "bar"
通过 Blaze 空格键(因此,不使用辅助函数)。
我试过
{{#with obj}}
{{this['foo']}}
{{/with}}
但是好像不接受方括号。注意:我不能只输入
{{this.foo}}
因为 属性 名称是由另一个对象作为值动态提供的。
returns 键和另一个接受 object 键和 returns 值的辅助函数怎么样?
// 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>
编辑:刚刚注意到您的标题说得很明确 "Without helper"。如果没有帮手,我认为这是不可能的