default
¶
这个 default
如果值未定义或为空,则filter返回传递的默认值,否则返回变量的值:
1 2 3 4 5 6 7 | {{ var|default('var is not defined') }}
{{ var.foo|default('foo item on var is not defined') }}
{{ var['foo']|default('foo item on var is not defined') }}
{{ ''|default('passed var is empty') }}
|
当使用 default
筛选在某些方法调用中使用变量的表达式,请确保使用 default
当变量未定义时过滤:
1 | {{ var.method(foo|default('foo'))|default('foo') }}
|
使用 default
布尔变量上的筛选器可能会触发意外行为,例如 false
值被视为空。考虑使用 ??
而是:
1 2 3 | {% set foo = false %}
{{ foo|default(true) }} {# true #}
{{ foo ?? true }} {# false #}
|
争论¶
default
:默认值