使用dust.js中的变量访问对象属性

时间:2015-08-12 09:54:22

标签: javascript 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 到达我使用它的部分。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

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}" /}

如果idfoo,则会输出data.powers.foo的值。

答案 1 :(得分:0)

抱歉,我得到了答案。

它应该是{data.powers [id]}而不是data.powers [{id}];它有效。