[英]Ember handlebars template access deep object property
在我的 Ember 应用程序中,我有以下代码
组件JS
row = {};
Ember.set(row[my.constants.fieldKey], "cssType", 'leftPadding')
组件 HBS
{{my-field cssType=(get row (my-field-key 'SECTION_ID' 'FIELD_ID') cssType)}}
所以我想在我的组件中将 my-field 的 'cssType' 属性作为 'leftPadding' 传递。
上面的 hbs 代码不起作用。
本质上,我试图访问我的 hbs 模板中的深层/嵌套对象属性。 我什至尝试过查找,但没有奏效。
get
helper 接受对象作为第一个参数和路径(点分隔的字符串,如'level1.level2')作为第二个参数。
如果row
是一个数组(并且my.constants.fieldKey
是一个整数索引),则需要另一个助手,它按索引从数组中返回对象。 例如, ember-composable-helpers 插件提供object-at
helper,可以这样使用:
{{my-field cssType=(get (object-at (my-field-key 'SECTION_ID' 'FIELD_ID') row) 'cssType')}}
如果 row 是一个对象(并且my.constants.fieldKey
是一个字符串),那么这应该有效:
{{my-field cssType=(get row (concat (my-field-key 'SECTION_ID' 'FIELD_ID') '.cssType'))}}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.