我有一个对象,在 JSON 中,它看起来像这样:
{
'class': ['nav-link', 'dropdown-toggle'],
'data-toggle': ['dropdown']
}
然后我需要能够将另一个类附加到对象内的类数组。
这段代码似乎不起作用;它只是覆盖类数组。
{% set link_attribs = { 'class' : ['nav-link', 'dropdown-toggle'], 'data-toggle':'dropdown'} %}
{% set link_attribs = link_attribs|merge({'class': ['highlighted']}) %}
我真的很想做这样的事情,但它只是抛出一个标点符号错误。
{% set link_attribs.class = link_attribs.class|merge(['highlighted']) %}
有什么想法吗?
最佳答案
使用 Twig,您不能直接设置对象属性,因此“set (...).class
”将永远不起作用。但是,您可以创建一个新变量,它将继承 default
和 options
值(就像在大多数 JavaScript 代码中一样)。
例如:
{%
set options = link_attribs | merge({
'class': link_attribs.class | merge(['highlighted'])
})
%}
{% for class in options.class %}
{{ class }}
{% endfor %}
将显示:
nav-link
dropdown-toggle
highlighted
参见 fiddle .
关于arrays - Twig:追加到数组/对象内的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34229313/