与
使用与
标记来创建一个新的内部作用域。在此作用域内设置的变量在作用域之外是不可见的:
1 2 3 4 5
{%与%}{%集Foo = 42 %}{{foo}}{# foo在这里是42{%endwith%}Foo在这里不再可见
属性中定义的变量的散列,而不是在作用域的开头定义变量与
标签;上面的例子相当于下面的例子:
1 2 3 4 5 6 7 8 9 10
{%与{foo: 42} %}{{foo}}{# foo在这里是42{%endwith%}Foo在这里不再可见{#它适用于任何解析为哈希的表达式#}{%集Vars = {foo: 42} %}{%与var %}...{%endwith%}
默认情况下,内部作用域可以访问外部作用域上下文;属性可以禁用此行为只有
关键字:
1 2 3 4 5
{%集Bar = ' Bar ' %}{%与{foo: 42} only %}{#只定义foo #}{# bar未定义#}{%endwith%}