Javascript Dust.js中的动态键名

Javascript Dust.js中的动态键名,javascript,dust.js,Javascript,Dust.js,我正在寻找一种方法来调用dust模板文件中的动态键,比如 {#阵列1} {#array2} {array1}{object.{dynAttrName}{/array1} {/array2} {/array1} 我想访问类似“object.attribute1”的内容,其中1是{array1}中当前对象的id。(数组1[n].id) 谢谢你的帮助 可以通过向上下文对象添加一个helper函数来完成: 上下文对象: { get: function (chunk, context, bod

我正在寻找一种方法来调用dust模板文件中的动态键,比如


{#阵列1}
{#array2}
{array1}{object.{dynAttrName}{/array1}
{/array2}
{/array1}
我想访问类似“object.attribute1”的内容,其中1是{array1}中当前对象的id。(数组1[n].id)


谢谢你的帮助

可以通过向上下文对象添加一个helper函数来完成:

上下文对象:

{
   get: function (chunk, context, bodies, params) {
       var obj = dust.helpers.tap(params.ofObj, chunk, context);
       var prop = dust.helpers.tap(params.prop, chunk, context);
       return chunk.write(obj[prop]);
   },

   a: {
       b: "bbb"
   }
}
模板

{#get prop="b" ofObj=a/}
你可以试试这个


我相信还可以定义全局灰尘辅助对象。

可以通过向上下文对象添加辅助函数来完成:

上下文对象:

{
   get: function (chunk, context, bodies, params) {
       var obj = dust.helpers.tap(params.ofObj, chunk, context);
       var prop = dust.helpers.tap(params.prop, chunk, context);
       return chunk.write(obj[prop]);
   },

   a: {
       b: "bbb"
   }
}
模板

{#get prop="b" ofObj=a/}
你可以试试这个


我相信定义一个全球尘埃助手也是可以做到的。

这与另一个非常相似。不幸的是,答案似乎是,这是目前不可能的尘埃。谢谢你,我没有看到这一个。很遗憾我们不能做到这一点,我将尝试找到另一种方法,我将遵循Github repo,因为这个功能可能即将推出。这与另一个非常相似。不幸的是,答案似乎是,这是目前不可能的尘埃。谢谢你,我没有看到这一个。很遗憾我们不能做到这一点,我将尝试找到另一种方法,我将遵循Github repo,因为这一功能可能即将推出。如此常见的用例,我不得不做同样的事情。dust没有将此作为内置帮助程序或内置语法,这让我感到惊讶/失望。想象一下,所有不同的人都浪费了这么多的时间来期待如此简单/基本的js功能。如此常见的用例,我不得不做同样的事情。dust没有将此作为内置帮助程序或内置语法,这让我感到惊讶/失望。想象一下,所有不同的人都浪费了这么多时间来期待这样简单/基本的js功能。