Javascript 余烬把手模板访问深度对象属性

Javascript 余烬把手模板访问深度对象属性,javascript,ember.js,handlebars.js,Javascript,Ember.js,Handlebars.js,在我的余烬应用程序中,我有以下代码 组件JS row = {}; Ember.set(row[my.constants.fieldKey], "cssType", 'leftPadding') 部件HBS {{my-field cssType=(get row (my-field-key 'SECTION_ID' 'FIELD_ID') cssType)}} 所以我想在我的组件中将字段的'cssType'属性作为'leftPadding'传递 上述hbs代码不起作用 基本

在我的余烬应用程序中,我有以下代码

组件JS

row = {};
Ember.set(row[my.constants.fieldKey], "cssType", 'leftPadding')
部件HBS

{{my-field cssType=(get row (my-field-key 'SECTION_ID' 'FIELD_ID') cssType)}}
所以我想在我的组件中将字段的'cssType'属性作为'leftPadding'传递

上述hbs代码不起作用


基本上,我正在尝试访问hbs模板中的深层/嵌套对象属性。我甚至尝试了查找,但没有成功。

get
helper接受对象作为第一个参数,接受路径(点分隔字符串,如'level1.level2')作为第二个参数

如果
row
是一个数组(并且
my.constants.fieldKey
是一个整数索引),您需要另一个助手,它将按索引从数组返回对象。例如,ember composable helpers插件提供帮助程序,可如下使用:

{{my-field cssType=(get (object-at (my-field-key 'SECTION_ID' 'FIELD_ID') row) 'cssType')}}
如果行是一个对象(并且
my.constants.fieldKey
是一个字符串),那么这应该可以工作:

{{my-field cssType=(get row (concat (my-field-key 'SECTION_ID' 'FIELD_ID') '.cssType'))}}

非常感谢…你非常接近我要找的东西…出于某些原因,第二个选项(get row…)不起作用…在我的例子中,row是一个数组…但是我想要的值在JS中被访问为;行['my-field-key'].cssTypeI我想知道获得这是hbsCorrection的正确方法是什么……在我的例子中,行是一种对象。