繁体   English   中英

Ember 车把模板访问深层对象属性

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM