在模板化的“With”或“Range”范围内访问外部范围
在模板中,使用“with”和“range”范围暂时改变点运算符“.”的范围引用内部范围的数据。当您希望访问驻留在调用作用域中的数据时,这可能会带来挑战。
解决方案
访问“with”或“range”内的调用作用域" 范围,使用特殊变量“$”。该变量表示传递给模板的数据值,它是“.”的原始起始值。点运算符。
例如,在此模板中:
{{with .Inner}} Outer: {{$.OuterValue}} Inner: {{.InnerValue}} {{end}}
“$.OuterValue”指的是外部(调用)作用域中的变量,而“.InnerValue”属于由“with .Inner”建立的内部(本地)作用域中的变量。
文档
文本/模板的文档阐明了“$”的用途:
“执行开始时,$ 设置为传递给 Execute 的数据参数,即点的起始值。”
以上是如何从模板化'With”或'Range”范围内访问外部范围变量?的详细内容。更多信息请关注PHP中文网其他相关文章!