使用 dust.js 中的变量访问对象 属性
Access object property using variable in dust.js
{#access_map.modifiable_objects}
<div class='col-md-2 col-xs-4'>
<i class="fa {icon}"> </i>
<span> {name} </span>
{#mods}
{>"dust/admin/helpers/form-checkbox" name="{form_name}" label="{display_name}" value="{value}"/}
<p> {data.powers.{id}} </p>
{/mods}
</div>
{/access_map.modifiable_objects}
我上面有下面的代码。
注意如何使用 {data.powers.{id}}
。我的真正意图是做类似的事情:data.powers[<id_name_here>]
或 data.powers.<id_name_here>;
但是,它呈现一个字符串。但是,ID 的范围 SURELY 达到了我使用它的那部分。有什么建议吗?
Dust 目前本身不支持变量替换。你可以写一个小帮手来做你想做的事。
dust.helpers.get = function(chunk, context, bodies, params) {
var key = context.get(context.resolve(params.key));
return chunk.reference(key, context);
};
然后你可以像这样使用助手:
{@get key="data.powers.{id}" /}
如果 id
是 foo
,这将输出 data.powers.foo
的值。
抱歉,我得到了答案。
应该是{data.powers[id]}而不是data.powers[{id}];有效。
{#access_map.modifiable_objects}
<div class='col-md-2 col-xs-4'>
<i class="fa {icon}"> </i>
<span> {name} </span>
{#mods}
{>"dust/admin/helpers/form-checkbox" name="{form_name}" label="{display_name}" value="{value}"/}
<p> {data.powers.{id}} </p>
{/mods}
</div>
{/access_map.modifiable_objects}
我上面有下面的代码。
注意如何使用 {data.powers.{id}}
。我的真正意图是做类似的事情:data.powers[<id_name_here>]
或 data.powers.<id_name_here>;
但是,它呈现一个字符串。但是,ID 的范围 SURELY 达到了我使用它的那部分。有什么建议吗?
Dust 目前本身不支持变量替换。你可以写一个小帮手来做你想做的事。
dust.helpers.get = function(chunk, context, bodies, params) {
var key = context.get(context.resolve(params.key));
return chunk.reference(key, context);
};
然后你可以像这样使用助手:
{@get key="data.powers.{id}" /}
如果 id
是 foo
,这将输出 data.powers.foo
的值。
抱歉,我得到了答案。
应该是{data.powers[id]}而不是data.powers[{id}];有效。