object - 使用变量设置 Twig 对象属性名称

标签 object properties twig

我需要在 Twig 中动态设置对象属性名称:

{% set featureId = feature.id %}
{% set gridEnabled = gridEnabled|merge({featureId: true}) %}

但这将“featureId”设置为gridEnabled的属性。有没有办法告诉 Twig featureId 是一个变量?我很惊讶它会将其解释为不带引号的字符串。

后续问题:这是完整的集合——我能够进一步简化为“feature.id”。这些线可以合并吗?

{% set gridEnabled = grid.enabled %}
{% set gridEnabled = gridEnabled|merge({(feature.id): true}) %}
{% set grid = grid|merge({'enabled':gridEnabled}) %}

最佳答案

其实很简单,

{% set gridEnabled = gridEnabled|merge({(featureId): true}) %}
<小时/>

(编辑)后续行动

{% set grid = grid | merge({'enabled' : (grid.enabled | merge({(featureId):1,}))}) %}

关于object - 使用变量设置 Twig 对象属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42844449/

相关文章:

javascript - 使用 Object.assign() 删除对象属性

javascript - 对象性质的函数

php - Symfony Twig 覆盖特定的表单行

javascript - 如何添加和删除 div(输入)

Javascript:将数组转换为对象的最佳方法是什么?

javascript - 如何访问名为日期的对象参数

grails - 如何访问在 messages.properties 文件中定义的属性?

xml - Symfony Twig 和 xml - 文档为空错误

swift - 计算属性内的 NSNumberFormatter

vb.net - 遍历类属性